match ':controller(/:action(/:id(.:format)))'
这样的路由 在 rails4 该怎么写?还是说 rails4 里面对路由的要求更加严格了 只能一条条去写
match "/users" => "users#index", via: [:get, :post .....]
#1 楼 @Teddy 哦,,意思就是一个 action 一条路由 是这样不?
#2 楼 @zzWinD 其实 get,post 神马的方法本来就是后端调用 match via 的 只不过 Rails 4 以后不让你直接用 match 了而已。
#3 楼 @iBachue 不是很理解..我就觉得 rails4 的路由控制比 rails3 要求更高,没有 rails3 模糊,一条路由包含很多规则。rails4 一条路由干嘛的就是干嘛的 ... 可能说的有点难以理解..
#4 楼 @zzWinD 这个是 Rails 中 get post put delete 的实现:https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/routing/mapper.rb#L557 可以看到,其实就是调用 match 方法而已。 我不是很喜欢 match,因为 restful 中已经规定好的 method,不该这么模糊的允许所有 method 都可以匹配。
@zzWinD 现在使用这个典型路由写法,是大忌(我是新手,听别人讲的 - -!),你可以去看看http://api.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Base.html#method-i-match这个