2013-03-15 51 views
0

我在rails中有一個嵌套的路由,我需要更改id的名稱,我不希望這樣:id,因爲我沒有其他字段用作參數。 ..我一直在谷歌搜索,但無法找到一個這樣做的方式......任何想法?在嵌套路由中更改id的名稱

我:

resources :user do 
    resources :elements, :only=>[:create,:destroy] 
end 

和耙途徑產生:

user_elements POST /users/:user_id/elements(.:format)   elements#create 
user_elements DELETE /users/:user_id/elements/:id(.:format)  elements#destroy 

,我需要這樣的東西

user_elements POST /users/:user_id/elements(.:format)   elements#create 
user_elements DELETE /users/:user_id/elements/:CHANGED(.:format)  elements#destroy 

謝謝!

+2

爲什麼你需要id以外的東西? – 2013-03-15 21:18:35

+0

,因爲我有一個獨特的其他字段,但它是一個字符串,所以我選擇了一個int id和這個唯一的字符串... – Andres 2013-03-15 21:23:05

回答

1

我會建議不要改變慣例。您可能需要手動聲明路由。

這就是說,這樣的事情可能會工作:

resources :users do 
    post 'elements(.:format)' => 'elements#create' 
    delete 'elements/:changed(.:format)' => 'elements#destroy' 
    end 
0
match "https://stackoverflow.com/users/:user_id/elements/:CHANGED(.:format)" => 'elements#destroy' 

這能行!