围绕Hartl rails教程5.29(http://ruby.railstutorial.org/)列出了一个路由错误的讨论,它强迫你在users / new上调用get方法而不仅仅是匹配方法。稍后通过调用下一章中的资源方法来解决这个问题。
我的一般问题是为什么我们不必在以下列表中的PagesController操作上调用get()。
#5.29
SampleApp::Application.routes.draw do
get "users/new"
match '/signup', :to => 'users#new'
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
root :to => 'pages#home'
end
答案 0 :(得分:1)
不同之处在于路由匹配的HTTP请求类型。
通过使用get "users/new"
,路由将仅匹配HTTP GET请求。
match "users/new"
实际上会匹配所有类型的HTTP请求。
如果你只想要GET请求,那么你可以使用get
而不是match
作为其他路线。(似乎是这种情况)。