Ruby on rails Heroku没有加载ajax调用
我有一个功能,让用户添加课程到他们的购物车。在开发过程中一切正常:当用户单击“添加到购物车”图标时,它在购物车中创建一个line_项目对象,购物车控制器执行一个AJAX请求,为购物车加载更新的html。代码如下: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
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存在于应用程序文件夹中即可