Ruby on rails Heroku没有加载ajax调用

Ruby on rails Heroku没有加载ajax调用,ruby-on-rails,ajax,heroku,Ruby On Rails,Ajax,Heroku,我有一个功能,让用户添加课程到他们的购物车。在开发过程中一切正常:当用户单击“添加到购物车”图标时,它在购物车中创建一个line_项目对象,购物车控制器执行一个AJAX请求,为购物车加载更新的html。代码如下: def create @user = current_user @cart = @user.cart @line_item = @cart.line_items.build(params[:line_item]) respond_to do |f

我有一个功能,让用户添加课程到他们的购物车。在开发过程中一切正常:当用户单击“添加到购物车”图标时,它在购物车中创建一个line_项目对象,购物车控制器执行一个AJAX请求,为购物车加载更新的html。代码如下:

  def create
    @user = current_user
    @cart = @user.cart
    @line_item = @cart.line_items.build(params[:line_item]) 

    respond_to do |format|
      if @line_item.save
        format.html { redirect_to(root_path, :notice => 'Course added to cart') }
        format.js { @current_item = @line_item }
        format.xml  { render :xml => @line_item, :status => :created, :location => @line_item }
format.js然后引用create.js.erb文件:

$("#cart").html("<%= escape_javascript(render(@cart)) %>");
$(“#购物车”).html(“”);
这将拉入@cart部分,其中包含新插入的行\u项

然而,当我把这个上传到heroku时,我的代码的这一部分坏了。当我点击“添加到购物车”图标时,会创建行项目,但页面必须刷新才能显示购物车

在heroku识别这种AJAX调用之前,我必须在它内部做些什么吗


谢谢

您可能需要预编译资产


在本地运行
RAILS\u ENV=production bundle exec rake assets:precompile
。这将在公用目录中创建一个Assets文件夹。将它们全部添加并提交给heroku。

对我来说,解决方案是更改:

config/environments/production.rb

config.assets.compile = true

(was'false')

不,在Heroku上使用AJAX不需要任何特定内容。只需确保文件中正确包含prototype.js,或者prototype.js存在于应用程序文件夹中即可