2012-02-09 43 views
1

我在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操作如何在沒有格式選項的情況下正常工作,除了「新」之外。

如何將format設置爲nil,其默認值是什麼?

回答

1

它看起來像你在你的url中使用單數decision當它應該是decisions。你的網址應該是/users/1/decisions/new

但是,您應該使用命名路線來阻止這種情況發生。您應該通過rake routes看到類似new_user_decision的內容。然後您可以使用new_user_decision_path作爲您的所有鏈接。

+0

謝謝,jcm。修正了錯字,並根據您的url幫助者建議添加了一些信息。 – eeeeeean 2012-02-09 19:10:17