在嵌套路由中,如何:格式设置为nil?

时间:2012-02-09 18:45:59

标签: ruby-on-rails ruby ruby-on-rails-3

我的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,默认值是什么?

1 个答案:

答案 0 :(得分:1)

看起来您在网址中使用了单数decision,应该是decisions。您的网址应为/users/1/decisions/new

但是,您应该使用命名路由来阻止这种情况发生。您应该通过new_user_decision看到rake routes之类的内容。然后,您可以将new_user_decision_path用于所有链接。