1

我有一个rails应用程序,它仍然在静态模式的 URL 末尾显示 cachebusting 数字字符串,即使我已将其放入生产环境。有人可以告诉我需要设置什么配置选项来防止这种行为...

4

2 回答 2

4

该文件不会在日常操作中破坏缓存。至少在理论上,代理服务器可以缓存 HTTP GET 请求(只要参数保持不变)。

相反,该数字允许您将 CSS 和 JavaScript 文件从一个版本顺利升级到下一个版本。据我了解,它应该保持在生产模式。仅当文件上的时间戳更改时,数字才应更改。

您是否看到完全无法使用单个参数缓存任何 HTTP GET 请求的常见代理服务器?

于 2008-09-17T13:30:36.617 回答
2

要在生产中禁用 ?timestamp 缓存破坏,请将其添加到您的 config/environments/production.rb

ENV['RAILS_ASSET_ID'] = ''

如果您想深入了解它的作用,请查看 ActionPack gem 中的asset_tag_helper.rb,第 527 行(ish)

于 2008-09-17T13:43:37.287 回答