0

我在 Rails 中有一个嵌套路由,我需要更改 :id 的名称,我不想要那个 :id 因为我有另一个字段可用作参数...我一直在谷歌搜索但不能找不到这样做的方法...有什么想法吗?

我有:

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

并且 rake 路由生成:

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

谢谢!!

4

2 回答 2

1

我建议不要更改约定。您可能需要手动声明路由。

也就是说,这样的事情可能会起作用:

  resources :users do
     post 'elements(.:format)' => 'elements#create'
     delete  'elements/:changed(.:format)' => 'elements#destroy'
  end
于 2013-03-15T21:58:25.213 回答
0
match "/users/:user_id/elements/:CHANGED(.:format)" => 'elements#destroy'

这个可以的!

于 2013-03-15T22:34:15.853 回答