Problem passing id of parent model to child

Hey fellas,

I have an Organization model with many projects. I have a link to a new project from the organization’s show view, like so: new_organization_project_path (@organization). I was hoping Rails would get the id of the organization from the instance I am passing and populate project.organization_id, but to no avail. The db rollbacks back and get redirected to the new project page. Any ideas? How would you normally do this?

Best,

What path do you get? It should be something like “/organizations/:id/projects/new”. This is where you can add a form for example to add a new project.

Do you try to POST to that path above? If so, that’s wrong (it’s for GET requests). Read more about nested resources here:

http://guides.rubyonrails.org/routing.html#nested-resources

//Linus

Have a look at the the Rails Guide on debugging. It will show you
techniques that you can use to debug your code.
Hint - start by looking in development.log to see what action is
called and what the parameters are.

Colin

Yes that’s what I get as a path. I have solved this issue. Its silly really, it turns out I needed to make an @organization instance available throughout my projectsController, so I made a before filter to fetch it based on the url.

Quick question though, do I need to update all the controller methods to reference the parent model whenever I have a one to many relationship like this one (changing everything to @organization.projects.someMethod)? This looks tedious to me. Does Rails help with this?

Yes that's what I get as a path. I have solved this issue. Its silly really,
it turns out I needed to make an @organization instance available throughout
my projectsController, so I made a before filter to fetch it based on the
url.

As a beginner I suggest you work through a good tutorial on Rails to
give you understanding of the basics. railstutorial.org is good and
is free to use online.

Quick question though, do I need to update all the controller methods to
reference the parent model whenever I have a one to many relationship like
this one (changing everything to @organization.projects.someMethod)? This
looks tedious to me. Does Rails help with this?

I don't understand the question. Can you give a particular example?

Colin