Where would this logic go in Rails?

If the options aren't coming from a database table, I would put them in a constant array inside the model, such as:

model.rb

  COUNTRY = [                [ "Canada", "CAN" ],                [ "United States", "US" ],                [ "England", "UK" ],                [ "Other", "OT" ],               ].freeze

and then just use this array as the source for your select menu. If these select objects are related to your model, you can then validate by using something like:

validates_presence_of :country_name

or use a custom validation if it's more complicated.

Mike