为什么rails预编译任务执行非摘要资产

当我这样做:rake assets:precompile RAILS_ENV = production我得到例如我的public / assets文件夹中的以下文件:

  • 应用7af6c31514bcdd4cce3c96892af4487f.js
  • 应用7af6c31514bcdd4cce3c96892af4487f.js.gz
  • 的application.js
  • application.js.gz

最后2个是一个问题,因为它导致编译版本在开发中服务,我不明白为什么它们被生成。

我的production.rb中有以下行:

config.assets.digest = true 

要停止在公共使用中创建非散列文件名:

 rake assets:precompile:primary RAILS_ENV=production 

这是资产编译器的正常行为,非摘要文件主要生成用于错误页面等(您无法访问MD5哈希),目前无法关闭它们。 此外,这个问题几乎与这个问题相同: Rails编译有和没有md5哈希的资产,为什么?