Jquery Rails application.js生产错误:未捕获SyntaxError:意外数字

Jquery Rails application.js生产错误:未捕获SyntaxError:意外数字,jquery,ruby-on-rails,heroku,ruby-on-rails-3.2,asset-pipeline,Jquery,Ruby On Rails,Heroku,Ruby On Rails 3.2,Asset Pipeline,我从application.js文件的第1行中得到此错误: Uncaught SyntaxError: Unexpected number application-b975feabda9124d54cd2e23989649e07.js:1 错误来自jquery注释部分的2: 2 * http://jquery.com/ * * Copyright 2011, John Resig 工作时,它看起来是这样的: /*! * jQuery JavaScript Library v1.7

我从application.js文件的第1行中得到此错误:

Uncaught SyntaxError: Unexpected number   application-b975feabda9124d54cd2e23989649e07.js:1
错误来自jquery注释部分的2:

2
 * http://jquery.com/
 *
 * Copyright 2011, John Resig
工作时,它看起来是这样的:

/*!
 * jQuery JavaScript Library v1.7.2
 * http://jquery.com/
 *
 * Copyright 2011, John Resig
我的开发环境中没有错误。只有在推送到Heroku并编译application.js之后

更新

我在assets/javascripts中搜索了所有js文件,没有找到与此问题相关的2。我怀疑它与jquery rails gem有关,因为当我将gem作为测试降级到2.0.1时,2变成了1


感谢您的任何想法

您能完成以下步骤吗

a检查包含的所有Java脚本文件

您可能在任何JS文件中错误地添加了2,如果是这样,请检查并删除它

检查注释开始和结束标记,如果正确,请更正

b如果上述任何情况适用,则提交更新并将更新推送到heroku并进行检查


c如果不是这样,请尝试通过编译资产在本地生产环境中运行应用程序,并查看它是否仍然存在。另外,请共享JS文件,以便我们为您检查。

此问题是由Rails缓存静态资产引起的。我能够通过防止静态资产被缓存来解决这个问题,如感谢中所述

我在application.rb文件中添加了以下内容:

# config/application.rb
require 'rack/cache'

if !Rails.env.development? && !Rails.env.test?
  config.middleware.insert_before Rack::Cache, Rack::Static, urls: [config.assets.prefix],     root: 'public'
end

您是否尝试删除2?在我看来,您的development js文件夹中有一个包含2的文件,该文件正在连接到您的生产javascript文件中。无论如何,您的生产和开发javascript文件显然是不同的。尝试重新编译生产文件。我已搜索了所有js文件,但找不到与此问题相关的2。我怀疑它与jquery rails gem有关,因为当我将gem降级到2.0.1时,2变成了1。有什么想法吗?我可以证实这也发生在我身上。某些资产文件将在文件顶部插入HTTP/1.1 500内部服务器错误:。这不在我的代码中,似乎是在Heroku上的资产编译中插入的。我不知道发生了什么事。有什么帮助吗?我的问题是由Rails缓存静态资产和cloudfront使用部分资产代码缓存错误引起的。