我正在开发rails应用程序,我需要停止浏览器的页面缓存。 我搜索了所有stackoverflow问题,博客,并进行了谷歌搜索,我发现大多数人将以下代码行添加到他们的应用程序控制器:
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
我尝试了同样的事情,但对我而言,它仅适用于某些页面,而不适用于所有页面。例如,当我登录时,如果我按下后退按钮,则会向我的服务器发送重新验证请求并阻止它,但是当我退出并按下后退按钮时,它会返回上一页而不会重新证实。我在Firefox和Chrome上对此进行了测试,两种浏览器都会出现同样的情况。
当用户按下注销按钮时,我在用户控制器中执行的操作:
def logout
session[:user_id] = nil
redirect_to({:controller => 'homepage', :action => 'index'})
end
如果有人能帮助我,我会很感激。