[英]Restricting resource routes and adding additional non-RESTful routes in Rails 3
我無法在這里或其他任何地方找到限制資源路由和在Rails 3中添加其他非RESTful路由的任何內容。這可能非常簡單,但我遇到的每個示例或解釋只針對一個案例而不是兩者都在同一時間。
這是我在Rails 2中所做的一個例子:
map.resources :sessions, :only => [:new, :create, :destroy], :member => {:recovery => :get}
非常簡單,我們只需要7個RESTful路由中的3個,因為其他路由對此資源沒有任何意義,但我們還想添加另一個用於帳戶恢復的路由。
現在從我收集的內容來看,這些事情中的任何一個都非常簡單:
resources :sessions, :only => [:new, :create, :destroy]
就像在Rails 2中一樣。並且:
resources :sessions do
member do
get :recovery
end
end
那么,我如何將這兩者結合起來呢? 我還可以使用舊的Rails 2方式嗎? 在Rails 3中有一種首選的方法嗎?
您可以將參數和塊傳遞給resources
:
resources :sessions, :only => [:new, :create, :destroy] do
get :recovery, :on => :member
end
並用rake routes
測試它。
它應該像這樣工作
resources :sessions, :only => [:new, :create, :destroy] do
member do
get :recovery
end
end
正如coreyward所提出的,還有一種更短的方式。
檢查導軌導軌,“ 從外部進行導軌布線 ”。 我還可以推薦Obie Fernandez的“The Rails 3 Way”,它在Routing和RESt上有兩個相當不錯的章節。
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.