  Neural codes are binary codes that are used for information processing and
representation in the brain. In previous work, we have shown how an algebraic
structure, called the {\it neural ring}, can be used to efficiently encode
geometric and combinatorial properties of a neural code [1]. In this work, we
consider maps between neural codes and the associated homomorphisms of their
neural rings. In order to ensure that these maps are meaningful and preserve
relevant structure, we find that we need additional constraints on the ring
homomorphisms. This motivates us to define {\it neural ring homomorphisms}. Our
main results characterize all code maps corresponding to neural ring
homomorphisms as compositions of 5 elementary code maps. As an application, we
find that neural ring homomorphisms behave nicely with respect to convexity. In
particular, if $\mathcal{C}$ and $\mathcal{D}$ are convex codes, the existence
of a surjective code map $\mathcal{C}\rightarrow \mathcal{D}$ with a
corresponding neural ring homomorphism implies that the minimal embedding
dimensions satisfy $d(\mathcal{D}) \leq d(\mathcal{C})$.
