I mean this is not true. Hom(R, -) restricted to the category of fields is not enough to recover the ring (for example Z/4 and Z/2 have the same homomorphisms to fields), much less if you take the colimit of this functor.
If you want to make do with fields, you need the additional info of the topology and the structure sheaf. The nice thing of the functorial view is that you don't need to worry about these things if you allow yourself to plug arbitrary rings in your functor.