我有一個非常簡單的測試用例來解釋這個問題。Rails緩存頁面不當 - 如何停止?
這裏是我在ERB文件中顯示在Rails中的頁面。
<div><%=rand%></div>
<p><a href="http://google.com">Go</a></p>
爲了顯示錯誤,我加載了頁面。我注意到顯示爲rand1
的隨機數字。我點擊Google鏈接。我點擊瀏覽器的「返回」按鈕。我注意到顯示爲rand2
的隨機數字。
問題出在這裏: 在Firefox和Chrome中,rand1!= rand2(always)。 在Safari和IE中,rand1 == rand2(always)。
爲什麼瀏覽器的差異?爲什麼Safari和IE緩存來自Rails的輸出,而另外兩個瀏覽器卻沒有?如何讓Safari和IE刷新頁面?
(這是一個簡單的測試案例來顯示問題 - 這在我的Backbone應用程序中有影響)。
你正在使用什麼樣的緩存?頁面,動作和片段緩存? – 0x4a6f4672 2012-08-06 13:37:36