我的routes.rb中有以下内容:
resources :users do
resources :decisions
end
/users/new
工作正常,但/users/:id/decisions/new
给了我:
No route matches {:controller=>"decisions", :format=>nil}
<%= link_to "New decision," new_user_decision_path(@user) %>
给了我同样的错误。
我查看了我的rake routes
,并列出了操作和帮助程序。列出的所有操作都有一个(。:format)后缀选项,但我不明白我的所有DecisionsController操作如何正常工作而没有格式选项,除了'new'。
如何:格式设置为nil,默认值是什么?
答案 0 :(得分:1)
看起来您在网址中使用了单数decision
,应该是decisions
。您的网址应为/users/1/decisions/new
。
但是,您应该使用命名路由来阻止这种情况发生。您应该通过new_user_decision
看到rake routes
之类的内容。然后,您可以将new_user_decision_path
用于所有链接。