用于路由的rails中get
和match
之间的区别是什么?
例如,使用get
,我可以写
get '/users' "users#index", as => 'all_users'
我不能使用match
执行相同的操作,如下所示:
match '/users' => 'users#index', as => 'all_users'
何时我应该选择一个,为什么?
答案 0 :(得分:3)
答案 1 :(得分:2)
get
定义了一个允许通过HTTP GET
方法请求的路由。如果只想回复一种方法,则首选get
:
get 'users', to: 'users#index', as: 'all_users'
如果您想响应多种方法,可以使用match
,但仍应出于安全原因定义允许的方法:
match 'user', to: 'users#index', as: 'all_users', via: [:get, :post]
来自Rails Docs:
的引用如果没有指定HTTP方法,则不应在路由器中使用
match
方法。