MLittle, I just picked up this thread towards the bottom and thought maybe I could say one thing. Don't ever nest more than two levels deep. I have some amazingly 'deep' applications and suffered the pains of hell until I picked up this important point. If you are still treading water, send me an email and I'll send a routes file that will make this point more clear. Good luck, David
On Sep 20, 9:35 pm, mlittle <[email protected]> wrote: > Agoofin: > > The only reason I am doing it this way is for the current_user. This > is the only way I know how to make sure another user does not see a > record created by someone else. If I knew another way to do this then > I would avoid the nested resources. I can see where my current model > is going to become a pain to manage. If I knew how to do that I would > change my ways. Currently I do: > > current_user.children.find(child).dogs.build(params[:dog]) > > I know there has to be a better way but I am glad it's working now. I > am new and am sure as I improve I will discover the appropriate way to > handle this. > > Thanks for the feedback. > > On Sep 20, 5:32 pm, AGoofin <[email protected]> wrote: > > > > > One other way to think about this - you shouldn't need to nest > > resources more then one level deep. > > > You only deal with children in relation to parents and dogs in > > relation to children. Separate relationships which can be handled > > transparently. Plus the links you have to generate get a lot more > > confusing - parents_childrens_dog_path( parent_id, child_id, dog_id) > > or some such... > > > On Sep 20, 1:41 pm, mlittle <[email protected]> wrote: > > > > MichaelB: > > > > THANK YOU!!!!! So much. Your solution fixed my problem and taught me a > > > bunch about rails. > > > > Thanks again for your help. > > > > On Sep 20, 8:32 am, MichaelB <[email protected]> wrote: > > > > > Hey mlttle- > > > > > You can create a new dog with: > > > > > def create > > > > @dog = Parent.find(params[:parent_id]).children.find(params > > > > [:child_id]).dogs.create > > > > end > > > > > The console is your best friend to quickly diagnose errors: > > > > > >> @record= parent.child.dog.build(params[:dog]) > > > > > NoMethodError: undefined method `child' for #<Parent:0x22b6748> > > > > > .. becuase your parent model has many **children** > > > > > >> @record= parent.children.find(child).dogs.build(params[:dog]) > > > > > Michael- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

