Javascript 已编译的文件无法获取指纹轨道

Javascript 已编译的文件无法获取指纹轨道,javascript,ruby-on-rails,ruby,asset-pipeline,Javascript,Ruby On Rails,Ruby,Asset Pipeline,我有许多部署应用程序的环境。在其中两个示例中,我为资产部署了以下配置: config.assets.enabled = true config.assets.compress = false config.assets.compile = true config.assets.precompile = false config.assets.digest = true config.assets.debug = false config.serve_static

我有许多部署应用程序的环境。在其中两个示例中,我为资产部署了以下配置:

config.assets.enabled    = true
config.assets.compress   = false
config.assets.compile    = true
config.assets.precompile = false
config.assets.digest     = true
config.assets.debug      = false
config.serve_static_assets = true
我的applicaton.js在上面编译了许多.js文件,但它没有得到指纹,所以我不会向已经缓存了指纹的客户提供更改

然后,该网页为除
application.js


从哪里开始查找此故障?

罪魁祸首是以下选项:

config.assets.compile=true

它将实时编译每个没有指纹的文件,并直接为rails服务

应将其设置为false,并使用
config.assets.precompile
,其中应包含所有预编译字段的列表:


config.assets.precompile+=%w(application.js foo.js)

然后不要忘记在部署任务中运行
rakeassets:precompile
,以重新编译新资产


另一方面,您还应该将
config.service\u static\u assets
设置为false,并让nginx/apache/您的web服务器为您处理,从rails提供资产会带来很大的开销。

我不太担心现阶段的性能。我的观点是,所有其他资产都在进行预编译,但application.js没有。