2012-11-15 24 views
0

我有一個使用的.js填充數據來驅動前端文件的Web應用程序。這些文件可能很大,所以我希望瀏覽器緩存它們。它們是所有用戶都可以使用的靜態數據,所以我也希望讓它們頁面緩存,因爲它們的創建可能非常耗時。如何動態創建允許Ruby on Rails中的瀏覽器緩存的緩存資產?

驅動它們的數據以隨機的間隔在後端變化。因此,當數據發生變化時,我想使服務器頁面緩存和用戶的瀏覽器緩存無效,導致刷新。

該應用程序也有一個大的靜態#資產和我們使用的管道資產與預編譯,爲他們提供生產(無動態編譯)。

我怎樣才能頁面緩存這些文件,以便他們能很快提供給所有用戶,沒有擊中的全Rails堆棧,以及瀏覽器緩存...但也都無效,必要時進行更新。

回答

0

也許它很容易爲

javascript_include_tag 'jquery.js', 'jquery-ui.js', :cache => 'cached/all' 

看看Rails API about cachingJammit gem可能是有用也。

+0

我認爲,工程靜態文件 - 但如果文件更改應用程序運行時,我不認爲這會工作。會嗎? –

+0

緩存它在機架級的定義,因此,如果檢測到變化將重新緩存中的文件,但不應該在生產模式的問題。 – nicooga