Ubuntu - > Apache - > Phusion Passenger - > Rails 2.3
我网站的主要部分会对您的点击做出反应.因此,如果您点击链接,它会将您发送到目的地,并立即重新生成您的页面.
但是,如果您点击后退按钮,则看不到新页面.不幸的是,如果没有手动刷新,它就不会出现; 看来浏览器正在缓存它.我想确保浏览器不缓存页面.
另外,我确实想为所有静态资产设置远期到期日期.
解决这个问题的最佳方法是什么?我应该在Rails中解决这个问题吗?Apache的?JavaScript的?
谢谢你的帮助,杰森
唉.这些建议都没有强迫我正在寻找的行为.
也许有一个JavaScript的答案?我可以让rails在注释中写出时间戳,然后让javascript检查以查看时间是否在五秒钟内(或者无论什么工作).如果是,那么很好,但如果没有,那么重新加载页面?
你认为这会有用吗?
感谢你的帮助,
贾森
最后想通了这一点- http://blog.serendeputy.com/posts/how-to-prevent-browsers-from-caching-a-page-in-rails/在application_controller.rb
class ApplicationController < ActionController::Base before_filter :set_cache_headers private def set_cache_headers response.headers["Cache-Control"] = "no-cache, no-store" response.headers["Pragma"] = "no-cache" response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT" end end
使用:
expires_now()
http://api.rubyonrails.org/classes/ActionController/ConditionalGet.html#method-i-expires_now