11
在Ruby on Rails的3教程,代碼使用:爲什麼使用match而不是在Rails中路由時獲取?
match '/signup', :to => 'users#new'
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
而不是
get '/signup', :to => 'users#new'
get '/signin', :to => 'sessions#new'
get '/signout', :to => 'sessions#destroy'
get '/contact', :to => 'pages#contact'
get '/about', :to => 'pages#about'
get '/help', :to => 'pages#help'
即使所有路由只希望HTTP GET動詞。爲什麼不使用get
(或:via => [:get]
在match
),並根據實際情況限制路由操作?
+1 for rails 4.0更新。感謝您花時間更新舊的答案。 – bengem 2013-05-30 17:24:43
如果你有用於多個http動詞的路由,現在猜測'match'會更好。 – 2015-12-07 16:43:42
@PetrosKyriakou爲什麼呢?我不時知道,使用框架轉換的最佳實踐。但是,我認爲這不是這種情況。如果你想提供'get'和'post'routes,分別使用'get'和'post'關鍵字來定義它們。正如更新後的答案中提到的,Rails現在甚至迫使您定義請求方法。我不知道這方面最近有什麼變化。 – emrass 2015-12-08 08:09:55