如何强制Cache-Control在rails 3.2.20中禁止存储

时间:2014-11-18 12:46:33

标签: ruby-on-rails ruby-on-rails-3 cache-control

有几个S.O.这方面的问题如下:

但无论我做什么,我覆盖什么我仍然得到标题(FireFox,Chrome,curl -V,......任何浏览器)

Cache-Control: must-revalidate, private, max-age=0

我试过

class ApplicationsController < ActionController::Base
  before_filter :no_store_cache
  after_filter :no_store_cache

  def no_store_cache
    response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
    response.headers["Pragma"] = "no-cache"
    response.headers["Expires"] = '-1'
  end
end

我试图直接在ActionController::Basehttps://github.com/equivalent/no_cache_control.git

上调用此回调

我试图挖掘rack-cache中间件覆盖试图强制执行标题的东西

我创建了自己的中间件,它覆盖了header['Cache-Control']

没有效果

1 个答案:

答案 0 :(得分:1)

使用Rails 3.2,gem no_cache_control仅在rails app以生产模式启动时才有效。可以通过以下方式在生产模式下启动应用来测试:

rails s -e production

注意:请确保您的database.yml指向适用于生产环境的某处。