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