将link_to更改为button_to时,“没有路由匹配”
我有这段代码:
"button" %>
哪个工作正常,但当我改成它时,
"button" %>
我收到这个错误
没有路由匹配[POST]“/ users / new”
任何帮助都将不胜感激。
Jesus Rodriguez对POST和GET是正确的,但是如果你真的需要按钮,你可以简单地覆盖默认方法:
<%= button_to "New User", new_user_path, :class => "button", :method => :get %>
“link_to”正在使用GET查找/ users / new 。
“button_to”正在使用POST查找/ users / new
如果使用以下命令为控制器创建路由:
resources :user
默认情况下, / users / new是GET而不是POST ,因此第二行找不到任何路由。
如果您打算将该操作更改为POST,我认为您应该忘记它。
您也可以将类发送到link_to,而不是强制button_to使用非默认方法。
<%= link_to "New User", new_user_path, :class => "button" %>
button_to默认为POST,link_to默认为GET,这就是links_to工作的原因。 您可以强制button_to使用GET:
<%= button_to "New User", new_user_path, :class => "button", :method => :get %>
您可以在此处获取有关button_to选项的更多信息: http : //api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to