Javascript在rails app中无效

我在store.html.erb文件中有这个代码

 "line-item", :product => product.id %>  $('document').ready(function(){ $(".line-item").click(function(){ var prod = $(this).attr('product'); $.ajax({ url:'', data: {product_id: prod}, type: 'POST', dataType: 'script' }); }); });  

我的line_items_controller.rb有这段代码

  def create @cart = current_cart product = Product.find(params[:product_id]) @line_item = @cart.add_product(product.id) respond_to do |format| if @line_item.save format.html { redirect_to(store_url) } format.js { @current_item = @line_item } format.xml { render :xml => @line_item, :status => :created, :location => @line_item } else format.html { render :action => "new" } format.xml { render :xml => @line_item.errors, :status => :unprocessable_entity } end end end 

然后我的create.js.erb文件有这个代码

 $("#notice").hide() $("#cart").html("") 

还有我的_cart.html.erb

  
Total
:get %> :delete, :confirm => "Are you sure?" %>

现在当我点击添加到购物车按钮时,应该在购物车中添加产品,这应该在页面的左侧显示更新的值,但它没有显示这一点。 但是当我刷新页面时,我看到了更新的值。 这意味着我的javascript无法运行。 请让我知道为什么我的JavaScript无法正常工作。

在create.js.erb文件中添加此行

 $("#cart").html("<%= escape_javascript(render(@cart)) %>"); 

这应该工作

你必须将@cart作为本地人发送到购物车中,并且它会动态地更新价值。