我有一个使用ajax request添加订单项的购物车。假设我点击“A”然后在购物车中显示“A”和“A”而不是“A”。订单项正确存储在数据库中。 当我刷新页面时,它向我显示正确的结果“A”(没有重复)。
这是购物车按钮erb代码
<%= button_to 'Add to Cart', line_items_path(product_id: product), remote: true %>
这是create.js.erb文件
$('#cart').html("<%= escape_javascript render(@cart) %>");
_line_item.html.erb
<tr>
<td><%= line_item.quantity %>×</td>
<td><%= line_item.product.title %></td>
<td class="item_price"><%= number_to_currency(line_item.total_price) %></td>
</tr>
总结一下,为什么我在ajax请求响应中获得最后一次点击项目重复虽然我在刷新页面时获得了正确的购物车(没有任何重复记录)?
我是铁杆新手。我错过了什么吗?请帮助。
答案 0 :(得分:0)
它是类似的代码,但首先尝试删除该类,然后分两步添加新信息。
在create.js.erb
中$('#cart').empty();
$('#cart').append("<%= j render(@cart) %>");