config.assets.version在Rails中做了什么?

时间:2012-12-14 05:26:25

标签: ruby-on-rails-3 asset-pipeline

我在文档中找不到这个问题的明确答案。许多参考文献只是说“更改版本会使资产无效”。那么,指纹机制是不是一样的,它根据文件内容和名称生成哈希标签?有谁知道config.assets.version到底是什么意思?

1 个答案:

答案 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的值。