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.
On Jun 17, 5:40 pm, "Miguel.camba" <[email protected]> wrote:
> 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.
>
> On Jun 17, 2:29 pm, Colin Law <[email protected]> wrote:
>
>
>
> > On 17 June 2010 12:17, Miguel.camba <[email protected]> wrote:
>
> > > 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?
>
> > Maybe options_for_select is what you are looking for.
>
> > Colin
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.