防止Rails 4中的浏览器页面缓存

时间:2014-10-25 03:35:36

标签: ruby-on-rails caching

我正在开发一个应用程序作为我学校项目工作的一部分。直到现在一切都很顺利,直到浏览器后退按钮显示以前缓存的页面,即使在注销后。 我发现下面的代码并认为这对我有帮助。

before_filter :set_cache_buster

def set_cache_buster
  response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
  response.headers["Pragma"] = "no-cache"
  response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end

我在应用程序控制器中添加了此代码。即使在此之后,我仍然可以在点击浏览器后退按钮时看到缓存页面。

如果有人能说出要禁用浏览器缓存需要做些什么,那将是一个很大的帮助。

1 个答案:

答案 0 :(得分:4)

在Rails缓存上花了一些时间之后,我发现turbolinks gem给我造成了问题。因此,在将上述代码添加到application_controller.rb之后,我删除了以下内容....

来自gem 'turbolinks'

Gemfile 来自//= require turbolinks

application.js

这解决了我的问题。希望对像我这样的新手有所帮助。