2011-06-08 150 views
0

在處理rails中的RESTful路由時,是否有一種簡單的方法可以更改特定HTTP動詞映射到的默認方法?比方說,我的每一個型號的控制器有一個刪除行動,而不是破壞,但是當我使用:Rails路由:REST動詞別名

link_to "Delete", some_object, :method => :delete 

的Rails做什麼它應該和路由到破壞我的資源的控制器行動。相反,我想要路由到名爲刪除的操作。而已。

我知道我可以只使用Ruby的別名在我的控制器或添加自定義成員路線我的每一個資源,但有一個更簡單的方法來做到這一點,使更改應用範圍?謝謝!

+0

出於好奇,我對答案感興趣。但是,最根本的問題是 - 你爲什麼要這麼做?爲什麼打破慣例? – 2011-06-08 18:35:07

+0

我不是一個混亂的約定,但我一直在更新舊的應用程序Rails 3,它使用**刪除**方法而不是**銷燬**在其控制器中。我打算先更新路由和視圖,然後再搞亂任何控制器代碼。這種變化將是一件非常暫時的事情。 – dhulihan 2011-06-10 03:41:42

回答

1

如果您在您的ApplicationController中使用別名,那麼它將流向您的其他繼承它的控制器。

這將按照您希望的方式運行。

警告:導軌是個人化的軟件,通常你不會想要走太遠路軌的工作方式。而Rails喜歡標準的REST動作。

+0

酷,這個工程。 – dhulihan 2011-06-10 04:16:23