2013-03-15 54 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' 

这能行!