【发布时间】:2010-09-10 03:06:44
【问题描述】:
我有一个rails 应用程序,它仍然在静态模式的 URL 末尾显示 cachebusting 数字字符串,即使我已将其放入生产环境。谁能告诉我需要设置什么配置选项来防止这种行为...
【问题讨论】:
标签: ruby-on-rails caching
我有一个rails 应用程序,它仍然在静态模式的 URL 末尾显示 cachebusting 数字字符串,即使我已将其放入生产环境。谁能告诉我需要设置什么配置选项来防止这种行为...
【问题讨论】:
标签: ruby-on-rails caching
该文件不会在日常操作中破坏缓存。至少在理论上,代理服务器可以缓存 HTTP GET 请求(只要参数保持不变)。
相反,该数字可让您顺利将 CSS 和 JavaScript 文件从一个版本升级到下一个版本。据我了解,它应该保持在生产模式。只有当文件上的时间戳发生变化时,数字才会发生变化。
您是否看到完全无法缓存任何带有单个参数的 HTTP GET 请求的常见代理服务器?
【讨论】:
要在生产环境中禁用 ?timestamp 缓存破坏,请将其添加到您的 config/environments/production.rb
ENV['RAILS_ASSET_ID'] = ''
如果您想深入了解它的作用,请查看 ActionPack gem 中的asset_tag_helper.rb,第 527 行(ish)
【讨论】: