我有以下按钮,我将其覆盖以生成GET请求:
= button_to "Tutor", {:controller => "appointments", :action => "new",
:listing_id => @listing.id} , :method => :get
但是,我仍然收到带有额外参数的POST请求:方法:
Processing by AppointmentsController#new as HTML
Parameters: {"authenticity_token"=>"AWkL", "listing_id"=>"2", "method"=>"get"}
我的路线档案,我有:
resources :appointments
我做错了什么?
谢谢。
答案 0 :(得分:39)
只需使用方法:和:获取
button_to "New User", new_user_path, method: :get
答案 1 :(得分:12)
按钮不应该发送GET
个请求。
您应该使用link_to
代替。如果您希望它看起来像一个按钮,请应用一些CSS。这是一篇好文章:http://coding.smashingmagazine.com/2009/11/18/designing-css-buttons-techniques-and-resources/
答案 2 :(得分:1)
您可能需要查看UJS driver code:
a\[data-method\]
是此处使用的选择器:
所以以下内容应该有效(无法真正测试):
button_to "Tutor", {...}, :html => { "data-method" => "get" }
答案 3 :(得分:0)
您还可以使用带有按钮标签的链接。
link_to(new_appointments_path(listing.id)) { button_tag("My button", class: 'my-btn-class') }