在rails 2中,您可以使用:any选项来定义响应任何请求方法的自定义路由,例如
map.resources :items, :member => {:erase => :any}
Run Code Online (Sandbox Code Playgroud)
rails 3似乎不支持:任何选项
resources :items do
get :erase, :on => :member # works
any :erase, :on => :member # doesn't work
end
Run Code Online (Sandbox Code Playgroud)
有没有人知道这个选项是否已被删除或只是重命名?
Jam*_*ong 12
从周围挖,看到什么get,post,put,和delete动作实际上做的ActionDispatch,我想你需要做的是match.所以:
resources :items do
get :erase, :on => :member
match :erase, :on => :member
end
Run Code Online (Sandbox Code Playgroud)
我不认为匹配的语法实际上是记录在案的,但它构造的路由对我来说至少是你对all方法的期望