2014-11-01 81 views
1

用於導軌的導軌中的getmatch有什麼區別?導軌之間的區別與差異

例如,使用get,我可以寫

get '/users' "users#index", as => 'all_users' 

,不能做我使用match像下面一樣的東西:

match '/users' => 'users#index', as => 'all_users' 

當我應該選擇一個,爲什麼?

回答

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方法。

3

get,post和所有其他相關的方法只是幫手,他們使用下面的match。你可以看到執行here。當您需要爲多個動詞設置路線時,請使用match(請參閱here)。