我在文档中找不到这个问题的明确答案。许多参考文献只是说“更改版本会使资产无效”。那么,指纹机制是不是一样的,它根据文件内容和名称生成哈希标签?有谁知道config.assets.version
到底是什么意思?
答案 0 :(得分:8)
config.assets.version是MD5哈希生成中使用的选项字符串。可以更改此选项以强制重新编译所有文件。*
当资产内容未更改但您想要更改随资产提供的响应标头时,这会很有用,但这些标头会缓存在某个位置,如CDN或用户的浏览器。
更改资产版本将允许您使用新的md5哈希值重新生成所有资产,从而允许您使用新标头向CDN提供相同的资源。
*来自RailsGuides - Configuring Rails Applications
注意:截至2016年5月20日,此功能似乎已经被打破了一段时间https://github.com/rails/sprockets-rails/issues/240。另一种方法是更改Rails.application.config.assets.prefix
的值。