On Sat, Nov 14, 2009 at 6:37 AM, MaggotChild <hsomob1...@yahoo.com> wrote: > > When modifying a model that has a has_one or has_many relationship > people usually create form that will submit the id of the selected > associated object. Rails takes this into consideration with > validations: validate_presence_of :country will validate if country > or country_id has been set. > > In Rails, providing the associated ID works fine with has_one but if > you try to do this with a has_many: > > form_for(@country) do |form| > form.select :state_ids, @states > form.select :state_ids, @states > #etc... > > The selected state_ids are written to the DB as soon as they're > assigned. What's the reasoning behind this? > How is one supposed to assign multiple collection ids via a form? You have to send them as an array, and assign them as an array too.
For example, View form.select("state_ids[]", @states) form.select("state_ids[]", @states) Controller @whatever.state_ids = params[:state_ids] You'll have to figure out the exact syntax, but that's the idea. Hope it helps. -- Leonardo Mateo. There's no place like ~ --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---