Rendering a selection box for 50 states
you should move the states list outside of view, i.e. to model class.

class User &lt; ActiveRecord::Base
  STATES = ['AL', 'AK', 'ID']
end


then in view:

&lt;%= f.label(:state, "State:*") %&gt;&lt;/br&gt;
&lt;%= f.select(:state, User::STATES) %&gt;&lt;/br&gt;


This will allow you to reuse states collection anywhere across the application and add easily validate if user hasn't modified the form manually.

Keeping states in User model is not necessary the best option but it's outside of this question scope