Can i use a hash on a collection_select? If don't, alternatives.

In my current application, i have food categories: mexican, home made, japanese, ect As these categories only have ID and name, no other attributes, i dont want to create a table on the DB. My first idea was to create a constant named FOOD_CATEGORIES, that is has like: FOOD_CATEGORIES = { 1=>'mexican',                                        2=>'japanese', ... } BUT, since the hash doesn't have :id method, i dont know how to use this constant on a collection_select in my views.

Do you have a better idea?

Thanks

Maybe options_for_select is what you are looking for.

Colin

I dont think so. I want to show a select that shows que values of the hash but the stored data when you submit a form is the key of that value un the hash.

I have just found a solution, but using a helper In application_helper i wrote this function:   def select_from_hash(object, name, arg)     select = "<select id=\"#{object}_#{name}\" name=\"#{object} [#{name}]\""     arg.each do |i,e|       select += "<option value=\"#{i}\">#{e}</option>"     end     select += "</select>"   end And in my views I use it this way (im using Haml): .field= render :inline=> select_from_hash(:profile, :loved_food, CATEGORIES)

Works fine but im all ears for other-more-elegant approach.