在rails 2中,您可以使用:any选项来定义响应任何请求方法的自定义路由,例如:
map.resources :items, :member => {:erase => :any}
rails 3似乎不支持:任何选项
resources :items do
get :erase, :on => :member # works
any :erase, :on => :member # doesn't work
end
有没有人知道这个选项是否已被删除或只是重命名?
在rails 2中,您可以使用:any选项来定义响应任何请求方法的自定义路由,例如:
map.resources :items, :member => {:erase => :any}
rails 3似乎不支持:任何选项
resources :items do
get :erase, :on => :member # works
any :erase, :on => :member # doesn't work
end
有没有人知道这个选项是否已被删除或只是重命名?
从挖掘和看到什么 get
, post
, put
,和 delete
行动实际上是做的 ActionDispatch
, 一世 认为 你需要做的就是 match
。所以:
resources :items do
get :erase, :on => :member
match :erase, :on => :member
end
我不认为匹配的语法实际上是记录在案的,但它构造的路由对我来说至少是你期望的 all
方法
从挖掘和看到什么 get
, post
, put
,和 delete
行动实际上是做的 ActionDispatch
, 一世 认为 你需要做的就是 match
。所以:
resources :items do
get :erase, :on => :member
match :erase, :on => :member
end
我不认为匹配的语法实际上是记录在案的,但它构造的路由对我来说至少是你期望的 all
方法
好问题。
看着 Edge Rails路由指南 和 Rails 3来源 它看起来不像是支持的。你可以在里面加票 Rails灯塔 (我找不到现有的)。
匹配将起作用,但不幸的是不在资源定义内。我宁愿希望他们带回一种方法来定义get / post至少一起..