2011-01-24 55 views
0

我有一個模型和控制器叫coves_controller。我現在在我的routes.rb文件中有這條線:root:to =>'coves#index',:as =>'coves'config/routes.rb中我的根行中的as屬性搞亂了我的應用程序。它出什麼問題了?

當我註釋掉並轉到localhost:3000/coves時,工作正常。當我取消註釋時,我無法創建一個新的cove對象。沒有錯誤聲明,它只是不添加到數據庫。

當我改變「海灣」到「海灣」末,我可以創建新的海灣對象,但這樣做之後,我排到海灣/ 0.5這應該是海灣/ 5

回答

2

我想這與創建的路徑有衝突:

resources :coves 

這是基本的REST行爲。

不要添加「爲」你根本說法,根本就是根:)

+0

編輯考慮到@idlefingers的優秀評論。 +1 :) – apneadiving 2011-01-24 10:20:20

3

如果你看一下how the root path is defined,它只是這會創建一個名爲航線的便捷方法。用於加載選項的reverse_merge方法意味着您的散列的:as => 'coves'部分將被忽略並更改回:as => :root。使用root方法時,不能重命名根路徑。

正如@apneadiving所言,您需要使用resources :coves才能獲得RESTful CRUD路線。

相關問題