我正在开发 Rails 3 购物车。我有一个目录页面,其中显示所有产品,还有一个部分显示购物车的要点。因此,用户添加到购物车的任何产品都会显示在此购物车部分中。现在,这不起作用了。将产品添加到购物车后,我必须点击刷新,否则部分不会更新。
这是我的代码:
Cart_Controller添加方法
def add
@cart = user_cart
@deal = Deal.find(params[:id])
@item = @cart.add(params[:id])
flash[:notice] = "Added #{@deal.deal_name} to cart"
@cart = user_cart
respond_to do |format|
format.html{ redirect_to root_path}
format.js
end
添加js.erb
$("#shopping_cart").replace_html("<%=escape_javascript(render(:partial => 'cart', :locals => {:cart => @cart}))%>");
产品页面
<div id="shopping_cart">
<%=render :partial => 'cart/cart',
:locals => {:cart => user_cart}%>
<%end%>
</div>
<%=link_to "Add to Cart",{:action => 'add', :id => deal.id}, :remote => true%>
这是我在日志中看到的内容:
于 2011-07-02 18:04:38 -0700 开始获取 127.0.0.1 的“/cart/add/2”
CartController#add as JS 处理
参数:{“id”=>“2”}
渲染的 cart/_cart.html.erb (9.6ms)
渲染的 cart/add.js.erb (11.7ms)
在 274 毫秒内完成 200 OK(查看次数:23.4 毫秒 | ActiveRecord:0.0 毫秒)
请在这件事上给予我帮助。
Try
$("#shopping_cart").html("<%= escape_javascript(render(:partial => 'cart', :locals => {:cart => @cart})).html_safe %>");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)