我正在做一个小型应用程序。
我正在尝试进行ajax调用。
尽管我使用remote: true
,button_to正在发出非ajax请求。它会将我重定向到此网址http://localhost:3000/lines?product_id=1
<% @products.each do |product| %>
<%= link_to product.name, controller: "store", action: "show", id: product %><br>
<%= button_to "Add to Cart", {controller: "lines", action: "create", product_id: product.id}, method: "POST", remote: true %>
<% end %>
有什么想法吗?
谢谢!
--- --- EDIT 这是我的application.js
= require jquery
= require jquery_ujs
//= require turbolinks
//= require_tree .
答案 0 :(得分:2)
这样的问题通常是因为您没有正确加载jquery。 button_to ... remote: true
成为ajax调用,因为remote: true
会触发更改按钮行为的javascript。
在application.js
中,您需要使用javascript:
= require jquery
= require jquery_ujs
这应该是:
//= require jquery
//= require jquery_ujs
正确加载jquery后,您应该按钮按预期运行。