Scott
Scott

Reputation: 977

Rails no route matches with nested resources

I know this question comes up a lot with Rails, but I can't seem to get any of the previous answers to work for me.

MyApplication::Application.routes.draw do
  resources :matters do
    resources :issues
  end 

I'm getting the following routing error:

No route matches {:action=>"show", :controller=>"issues", :matter_id=>#<Matter id: 2, name: "Wilson", user_id: nil, created_at: "2011-03-23 18:19:40", updated_at: "2011-03-23 18:19:40">, :id=>nil}

I am trying to get the path like this:

<%= link_to issue.content, matter_issue_path(@matter, @issue) %>

When I run rake routes it shows that I have the path:

matter_issues GET  /matters/:matter_id/issues(.:format) {:action=>"index", :controller=>"issues"}

Any ideas why I'm getting this error? Thanks!

Upvotes: 9

Views: 5833

Answers (1)

Dan Fox
Dan Fox

Reputation: 729

Try matter_issues_path(@matter, @issue)

I always seem to run into these pluralization gotchas with Rails routing.

Upvotes: 16

Related Questions