Ruby on rails 在Rails中使用GET方法选项的按钮

Ruby on rails 在Rails中使用GET方法选项的按钮,ruby-on-rails,routing,routes,Ruby On Rails,Routing,Routes,我有以下按钮,我将其覆盖以生成GET请求: = button_to "Tutor", {:controller => "appointments", :action => "new", :listing_id => @listing.id} , :method => :get 但是,我仍然收到一个带有额外参数的POST请求:方法: Processing by AppointmentsController#new as HTML Parameters: {

我有以下按钮,我将其覆盖以生成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
我做错了什么


谢谢。

按钮不应该发送
GET
请求


您应该使用指向的
链接。如果你想让它看起来像一个按钮,应用一些CSS。这里有一篇好文章:

您可能想看看:

此处是否使用选择器:

因此,以下方法应该有效(无法真正测试):


只需使用方法:和:获取

button_to "New User", new_user_path, method: :get

您还可以使用带有按钮标记的链接


链接到(新的约会路径(listing.id)){按钮标签(“我的按钮”,类:“我的btn类”)}

谢谢Tigraine。你的解决方案对我不起作用。我怀疑Prototype(我删除了Prototype)和jQuery之间可能存在冲突,这会阻止我强制使用get方法。。我只是看了一下UJS代码,认为这应该行得通。。至少如果你使用一个
标签,它应该是他使用的,不是吗?如果你有一些html选项,记得把所有的东西都包装在一个散列中:
按钮到“新用户”,新用户路径,{method:'get',class:“some class”}
或者如果你需要使用路径散列,确保将
方法从中分离出来:
按钮到“Frob用户”{action::Frob,id:User.id},method::get
那搜索按钮呢?它们经常使用
get
请求。这并不能回答问题。当有人问“我如何做X?”时,它会将主题改为“你不应该做X,而是做Y”。@Lukelauimer:有时(事实上,经常如此),这是一个有效的答案。可能不是在这种情况下。对这些“固执己见”的答案感到非常恼火。我知道这是一个古老的问题,但我刚刚上了火车。我想离开。在我的情况下,我添加了一个oauth“连接到。。。“按钮。使用GET方法是有意义的,因为请求就是这样发送的。是的,我可以不厌其烦地添加css并使用link_to,但是为什么我要因为别人的意见而做所有额外的工作呢?维克托鲁德:你无论如何都要设计它,所以我看不出有什么不同。
button_to "New User", new_user_path, method: :get