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

Ruby on rails 防止Rails 4中的浏览器页面缓存,ruby-on-rails,caching,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"

我正在开发一个应用程序,作为我学校项目工作的一部分。直到现在一切都很好,直到浏览器返回按钮显示以前缓存的页面,甚至在注销之后。 我发现下面的代码,并认为这将帮助我

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
我在应用程序控制器中添加了此代码。即使在这之后,我仍然能够在单击浏览器后退按钮时看到缓存的页面


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

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

gem'turbolinks'
来自
Gemfile

/=从
application.js


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

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

gem'turbolinks'
来自
Gemfile

/=从
application.js


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

您可以从相应的环境rb文件中禁用它。config.action\u controller.perform\u caching=true,将此行设为false以禁用缓存。@abhidsm我已经这样做了。还有其他方法吗?您可以从相应的环境rb文件中禁用它。config.action\u controller.perform\u caching=true,将此行设为false以禁用缓存。@abhidsm我已经这样做了。还有其他方法吗?谢谢你发布这个解决方案。这解决了我的问题。感谢上帝!!感谢您发布此解决方案。这解决了我的问题。感谢上帝!!