2014-09-26 72 views
0

我已经在application_controller中嵌入了no-cache代码。但是,它只适用于某些情况。这个问题还有其他解决方案吗? Facebook和Gmail如何设法解决这个问题。提前致谢!从我的应用程序注销后,如果我按下后退按钮,我可以看到前一页

+0

我们不知道如何您的身份验证已经实施。你必须提供更多的细节/代码。 – Webdevotion 2014-09-26 08:43:36

+0

从看你的代码我认为最好拿起一本书,并从头开始。你的源代码充满了奇怪的文件,这似乎是你以错误的方式执行(rails related)命令的结果。我很难通过查看源代码来查明确切的问题,但我可以告诉你,在深入研究之前需要多学习一下Ruby和Rails框架。不要放弃。从这里开始:http://guides.rubyonrails.org/getting_started.html。 – Webdevotion 2014-09-29 17:51:22

回答

1

当您请求任何页面时,您的浏览器缓存页面。您需要阻止浏览器缓存。所以你可以这样做。

在你application_controller:

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 

全部归功于这个网址http://blog.serendeputy.com/posts/how-to-prevent-browsers-from-caching-a-page-in-rails/

+0

我已经在我的application_controller.rb中编写了这段代码......但它不适用于所有页面......当我按下后退按钮时,是否有任何其他替代方法(如刷新)? – CoDhEr 2014-09-26 12:08:18

+0

我还没有尝试过,但你可以这样做。 document.onHistoryGo = function(){location.reload();返回false; } – 2014-09-26 12:42:06

相关问题