Drop down with model info

I have this code:

<%= f.select :name, [@m.each do |n|          [ n.first_name , n.first_name ]            end], :class => 'gam' %>

and i want it to display each of the first_name records from the table that @m is associated with in a drop-down. When i test this code the only option in the drop down menu it #Player:0x3c88008> (Player is the name of the table that @m is associated with) i know from previous testing that everything works fine besides this code.

Any ideas or help would be fantastic!

I have this code:

<%= f.select :name, [@m.each do |n|          [ n.first_name , n.first_name ]            end], :class => 'gam' %>

#each returns @m, so what you want is #map or collect. Try

<%= f.select :name, @m.map { |n| [n.first_name, n.first_name] }, :class => 'gam' %>

There's an optimization for this: collection_select

f.collection_select( :name, @m, :first_name, :first_name, :class => 'gam' )

Walter

> > > > I have this code: > > <%= f.select :name, [@m.each do |n| > [ n.first_name , n.first_name ] > end], :class => 'gam' %> > > #each returns @m, so what you want is #map or collect. Try > > <%= f.select :name, @m.map { |n| [n.first_name, n.first_name] }, :class => 'gam' %> > > > and i want it to display each of the first_name records from the table > that @m is associated with in a drop-down. When i test this code the > only option in the drop down menu it #Player:0x3c88008> (Player is the > name of the table that @m is associated with) i know from previous > testing that everything works fine besides this code.

There's an optimization for this: collection_select

f.collection_select( :name, @m, :first_name, :first_name, :class => 'gam' )

You're right Walter but make sure to add an empty hash before the html options for the options parameter

f.collection_select :name, @m, :first_name, :first_name, {}, :class => 'gam'

Something like that?

<%= f.select :city_id, @cities.map { |city| [city.name, city.id] } %>