Ruby on rails 没有与作用域资源匹配的路由 rails新示例 railsgscaffold小部件 rakedb:migrate 编辑routes.rb如下:scope:year“do resources:widgets end curl成功 echo“Widget.new.save”| rails c curl成功 但是现在curl失败,出现以下错误:
Ruby on rails 没有与作用域资源匹配的路由 rails新示例 railsgscaffold小部件 rakedb:migrate 编辑routes.rb如下:scope:year“do resources:widgets end curl成功 echo“Widget.new.save”| rails c curl成功 但是现在curl失败,出现以下错误:,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,rails-routing,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Rails Routing,没有路由匹配{:action=>“show”,:controller=>“widgets”,:year=>#试试看 (结尾是S) UPD:在index.html.erb中,而不是 link_to widget 使用smth-like link_to widget_path(widget, :year => 2011) 或 我确实有资源:widgets(在我的问题中,这是一个输入错误),但我错过了调用widget_path()的年份。我应该更仔细地查看堆栈跟踪。这是一种误导性的错误消息
没有路由匹配{:action=>“show”,:controller=>“widgets”,:year=>#试试看
(结尾是S)
UPD:在index.html.erb中,而不是
link_to widget
使用smth-like
link_to widget_path(widget, :year => 2011)
或
我确实有资源:widgets
(在我的问题中,这是一个输入错误),但我错过了调用widget_path()的年份。我应该更仔细地查看堆栈跟踪。这是一种误导性的错误消息(没有路由匹配)但是现在我明白了。谢谢。我发现添加def default\u url_选项(选项={}){:year=>@year}比在每次调用widget\u path()
时指定年份要容易得多结束
到我的应用程序控制器
。我不会提及在发现默认url\u选项之前浪费了多少时间:-)
link_to widget_path(widget, :year => 2011)
link_to widget_path(2011, widget)