2011-07-20 102 views
9

我需要了解如何創建軌道3.新路徑的解釋,我想這個鏈接,例如導軌3:如何創建路徑?

link_to "eat chocolate", eat_chocolate_user_path(user) 

是等於

link_to "eat chocolate", :controller => 'user', :action=>'eat_chocolate', :id=> user 

我看了很多關於它的指南,包括railsguide的路由。但我仍然不知道它是如何工作的。

回答

9

將以下行添加到您的routes.rb文件中。

match 'user/eat_chocolate/:id' => 'user#eat_chocolate', :as => :eat_chocolate_user 

查找命名路線以獲取更多信息。

+0

謝謝你,我能成功地創建路線,但我無法給它一個名字。 – perello

+0

路由的名稱使用as參數指定。所以上面應該已經爲你創建了eat_chocolate_user_path。這不適合你嗎? –

2

在某些情況下,最好使用GET

使用match將接受所有的HTTP動詞GETPUTPOSTDELETE這意味着有人可能會錯誤地使用你的應用。如果你正在做的是表示#show作用的東西,你應該用這個代替

get 'user/eat_chocolate/:id' => 'user#eat_chocolate', :as => :eat_chocolate_user