更新记录后,Active Admin需要强制刷新

时间:2013-06-18 05:33:58

标签: ruby-on-rails caching nginx activeadmin

我正在使用Active Admin的相当普遍的实现。

用户使用Active Admin界面更新记录后,更改不会反映在浏览器中,直到用户执行hard refresh ctrl + F5 )。

在开发或测试中未观察到此行为,但在生产中可以看到。我认为这是一个缓存问题。

有没有办法可以强制显示新更新的信息,以便用户在每次更新记录后都不必强制刷新?

1 个答案:

答案 0 :(得分:2)

问题与浏览器或rails缓存无关,但是由于来自Nginx的服务器端缓存

显然,hard refresh ctrl + F5 )会告诉Nginx不使用缓存。在硬刷新请求下,Nginx实际上会从rails请求页面内容,然后提供新内容,而不是缓存内容。

现在我已经通过添加到Nginx配置文件来禁用Nginx的缓存来证明这个理论解决了这个问题:

expires off;

然后我用:

重新启动了Nginx
service nginx restart

现在一切正常。看起来像黑魔法,Nginx如何知道(服务器端)用户请求硬刷新。