Rails 4 ajax:请求提交次数太多

时间:2016-04-04 22:15:06

标签: html ruby-on-rails ruby ajax ruby-on-rails-4

当用户点击“添加到订单”时,我正在尝试将AJAX合并到我的rails应用程序中。按钮。我希望在没有页面重新加载的情况下将项目添加到订单中。当我点击“添加到订单”时,ajax请求会多次发送,导致许多商品被添加到我的订单而不是仅仅1个商品。

这是我的link_to标签,用于触发ajax请求:

 <%= link_to ' ', :method => :post, :remote => true %>

以下是我的产品代码&#39;控制器和&#39;购买&#39;动作:

def buy
  respond_to do |format|
    format.html { redirect_to ' ' }
    format.js
end

根据我的理解,默认的rails操作是加载app / views / products / buy.js.erb文件并执行该文件中的命令。 这是我在该文件中的内容:

$("#order-panel").html("").append("<%= j render 'order_summary' %>");

我基本上用这个文件中的新模板覆盖了以前的html:

_order_summary.html.erb

此部分包含以下代码:

<div class="panel-heading">
  <span class='glyphicon glyphicon-tags'></span><span   class="text">Order Summary</span>
</div>
<div class="panel-body">
<% if current_order %>
    <% if current_order.total_items == 0 %>
        <div class="order-summary-text empty-order">Your order is empty.</div>
    <% else %>
        <div class="order-summary-text">yadayada</div>
        <div class="order-btns">
           <%= link_to ' ' %>
           <%= link_to ' ' %>
        </div>
    <% end %>
<% end %>

有谁知道为什么我的多个项目被添加而不是1?

提前致谢!

0 个答案:

没有答案