【问题标题】:Rails no route matches with nested resourcesRails 没有与嵌套资源匹配的路由
【发布时间】:2011-03-23 18:59:38
【问题描述】:

我知道 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) %>

当我运行 rake 路由时,它表明我有路径:

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

知道为什么我会收到此错误吗?谢谢!

【问题讨论】:

标签: ruby-on-rails routing


【解决方案1】:

试试matter_issues_path(@matter, @issue)

我似乎总是在 Rails 路由中遇到这些多元化的陷阱。

【讨论】:

  • 这就是问题所在。谢谢!不敢相信我浪费了一个小时。
  • 解决了我的问题,虽然 rake 路由显示为 matter_issue 并且需要添加 s 似乎有点奇怪,但是哦,好吧
  • 您刚刚将我从另一个小时的沮丧中解救出来,并且我学到了一些我以前不知道的东西(您必须在需要时将适当的参数传递给这些路径)。谢谢!
  • 这是一个巨大的帮助。你在两秒钟内完成的工作比他们在所有官方 Rails Guides on Routing 中做得更好。
猜你喜欢
  • 1970-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
相关资源
最近更新 更多