如何爲Rails 3路由中的新資源添加自定義路由?如何向路由添加新的自定義資源Rails 3
我知道如何爲集合和成員做這件事,但這種風格似乎並不適用於新資源。這是一個錯誤還是我做錯了什麼?
因此,這些工作:
collection do
get :wish
end
member do
get :wish
end
但是,這並不工作:
new do
get :wish
end
如何爲Rails 3路由中的新資源添加自定義路由?如何向路由添加新的自定義資源Rails 3
我知道如何爲集合和成員做這件事,但這種風格似乎並不適用於新資源。這是一個錯誤還是我做錯了什麼?
因此,這些工作:
collection do
get :wish
end
member do
get :wish
end
但是,這並不工作:
new do
get :wish
end
試試這個:
resources :<resource name> do
member do
get '<custom action>'
end
end
舉個例子,讓我們看看你有一個叫做控制器「主',如果您有自定義操作'dashbord'
resources :admin do
member do
get 'dashbord'
end
end
換句話說,你想匹配的東西,如:
example.com/foos/new/custom
而非example.com/foos/1/custom/
或example.com/foos/custom
這不是RESTful的,這只是意味着沒有爲它的自動路由。您應該能夠使用非足智多謀的路由,即這樣的事情應該努力做到這一點:
match 'resource/new/custom'=>'resource#custom'
...其中「自定義」是在您的控制器操作名稱。
有關更多選項和詳細信息,請參閱the rails guide。