在我的订单商品中,我可以删除一行,它会随着ajax淡出
destroy.js.erb
$(".delete_btn").bind('ajax:success', function(){
$(this).closest('tr').fadeOut();
//I tried the code below
//$("#item_count").html("<%= current_cart.items_count %>")
})
删除后,我希望Ajax更新:
购物车商品(位于导航栏中)
<span id="items_count"><%= current_cart.items_count %></span>
总价格(在order_items / index中)
<td colspan='4' align="right"><%= number_to_currency_euro current_cart.sub_total %></td>
编辑:
我的问题是:我应该在ajax中编写什么代码,以使用Ajax更新总价格和商品编号?
current_cart
被定义为应用程序控制器
before_action :current_cart
def current_cart
@current_cart ||= ShoppingCart.new(token: cart_token)
end
private
def cart_token
return @cart_token unless @cart_token.nil?
session[:cart_token] ||= SecureRandom.hex(8)
@cart_token = session[:cart_token]
end
order_items_controller.rb
def destroy
current_cart.remove_item(id: params[:id])
respond_to do |format|
format.js
format.html { redirect_to clients_cart_path, notice: "Correctement supprimé du panier" }
end
end
答案 0 :(得分:1)
$(".delete_btn").bind('ajax:success', function(){
$(this).closest('tr').fadeOut();
$("#items_count").html("<%= @current_cart.items_count %>");
$("#total_amount").html("<%= number_to_currency_euro @current_cart.sub_total %>");
});
那是我最终编写的代码,并且运行良好。我重命名了我的#id,发现那里有一个错字...