I''m sorry to be asking trivial questions, but I''m new to RoR and am hooked :), so I''m very impatient to get things up and running. given two related tables, "pcs" and "venues" (venues have many PC''s and each PC belongs to one venue only) I can use a select() to present venue names in the "new PC" form along with other PC details to be registered. I''ve done this by adding <%= select('''', '''', venue.find_all.collect {|venue| venue.name}) %> to my _form.rhtml for registering new PC''s. Now when you register a new PC, you can choose the venue that it belongs to by name, but I need to then send the venue_id (the foreign key in pcs) and not the venue name from the form. Can someone advise me on how I might do this? Also, I know that I''m really supposed to write something in the appropriate controller or write a helper method to populate a variable which I can then use in my _form.rhtml, but I''m not sure how to do that and would appreciate pointers there too. Bealach -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060406/53d9603a/attachment.html
You will most likelt want something like this... <%= select("pc", "venue_id", Venue.find_all.collect {|v| [v.name, v.id]} ) %> this will create a select with the name as the displayed value, and put the id as the actual value submitted with the form. also by adding pc and venue_id as the first 2 parameters, the select will automatically select the Venue described by @pc.venue_id. Then you can reuse this for for editing a PC as well. mark -- Mark Van Holstyn mvette13@gmail.com http://lotswholetime.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060406/989165dc/attachment.html
Brilliant Mark! It worked like a charm. Now I''ve got to do my homework and find out how to abstract as much as possible into a controller or a helper. Thanks. Bealach On 4/6/06, Mark Van Holstyn <mvette13@gmail.com> wrote:> > You will most likelt want something like this... > > <%= select("pc", "venue_id", Venue.find_all.collect {|v| [v.name, v.id]} ) > %> > > > this will create a select with the name as the displayed value, and put > the id as the actual value submitted with the form. also by adding pc and > venue_id as the first 2 parameters, the select will automatically select the > Venue described by @ pc.venue_id. Then you can reuse this for for editing > a PC as well. > > mark > > -- > Mark Van Holstyn > mvette13@gmail.com > http://lotswholetime.com > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060406/0db7438d/attachment.html