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

有帮助吗?

解决方案

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

相反,该数字可以让您顺利地将 CSS 和 JavaScript 文件从一个版本升级到下一个版本。据我了解,它应该保持在生产模式。仅当文件上的时间戳发生变化时,这些数字才会发生变化。

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

其他提示

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

ENV['RAILS_ASSET_ID'] = ''

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top