2010-05-27 121 views
1

如何爲Rails 3路由中的新資源添加自定義路由?如何向路由添加新的自定義資源Rails 3

我知道如何爲集合和成員做這件事,但這種風格似乎並不適用於新資源。這是一個錯誤還是我做錯了什麼?

因此,這些工作:

collection do 
    get :wish 
end 

member do 
    get :wish 
end 

但是,這並不工作:

new do 
    get :wish 
end 

回答

4

試試這個:

resources :<resource name> do 
    member do 
    get '<custom action>' 
    end 
end 

舉個例子,讓我們看看你有一個叫做控制器「主',如果您有自定義操作'dashbord'

resources :admin do 
    member do 
    get 'dashbord' 
    end 
end 
1

換句話說,你想匹配的東西,如:

example.com/foos/new/custom而非example.com/foos/1/custom/example.com/foos/custom

這不是RESTful的,這只是意味着沒有爲它的自動路由。您應該能夠使用非足智多謀的路由,即這樣的事情應該努力做到這一點:

match 'resource/new/custom'=>'resource#custom'

...其中「自定義」是在您的控制器操作名稱。

有關更多選項和詳細信息,請參閱the rails guide