2011-03-23 52 views
7

我知道这个问题出现了很多与Rails,但我似乎无法得到任何以前的答案为我工作。Rails没有路由与嵌套资源匹配

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

我收到以下错误路由:

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} 

我试图得到这样的路径:

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

当我运行耙路线那就说明我有路径:

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

任何想法wh我收到这个错误?谢谢!

+0

你能确认@issue不是零吗? – 2011-03-23 19:16:29

+0

http://stackoverflow.com/questions/8406654/no-route-matches-with-nested-resources 这就是你的问题的答案 – 2014-01-30 13:51:54

回答

15

尝试matter_issues_path(@matter,@issue)

我似乎总是遇到使用Rails路由这些多元化陷阱。

+1

这就是问题所在。谢谢!不能相信我浪费了一个小时。 – Scott 2011-03-23 19:56:23

+0

解决了我的问题,虽然看起来有点奇怪,耙路线显示它为matter_issue和s需要添加,但哦哦 – MexicanHacker 2012-02-04 01:39:21

+1

你刚刚救了我,肯定会是一个小时的挫折,我学到了东西之前我不知道(必要时必须将适当的参数传递给这些路径)。谢谢! – peelman 2012-05-16 20:31:11