Hi Anton, Yes, this will definitely be addressed in a guide I'm working on.
There's also a ticket about adding a better fallback in the case you are using fields_for for a nil association: http://rails.lighthouseapp.com/projects/8994/tickets/2172-nested-model-forms-error-on-loading-data-from-one-to-one-associations-that-evaluate-to-nil Cheers, Eloy On Mar 19, 2009, at 11:03 AM, Anton Jenkins wrote: > > I've noticed a couple of people tripping up (myself included) on using > the new nested model forms across has_one relationships. Because > @parentModel.childModel returns nil (as opposed to [] for a has_many > relationship) it is not possible to assign attributes to a new child > model in a has_one relationship without running > @parentModel.build_childModel first. > > I've explained the exact error and the solution in more detail here : > > http://www.pixellatedvisions.com/2009/03/18/rails-2-3-nested-model-forms-and-nil-new-record > > Would it be possible to amend the rails guides and the documentation > on the rails blog on nested model forms to clarify this extra step > which is required for has_one relationships? The documentation as it > stands gives the impression that has_many and has_one are > interchangeable without any modification to your nested form code. > Just a simple note on this extra build_ step could save users a lot of > head scratching. > > Cheers > > Anton > > P.S The complex_form_examples were invaluable in helping me track down > where I was going wrong in this instance. These are a great idea for > when you are having problems getting your own code to work and you > need a working example. Thank you to those responsible! > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" 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-core?hl=en -~----------~----~----~----~------~----~------~--~---
