2012-01-24 63 views
0

我有一個cron作業,每60分鐘生成一個靜態HTML代碼塊(保存爲erb模板),該塊顯示最近添加到客戶端產品目錄中的20個產品。Rails 2.3 - 如何防止瀏覽器緩存部分?

我的代碼呈現此塊作爲部分:但是

<%= render :partial => "/products/partials/most_recent_products" %> 

的問題是,這部分是越來越受到用戶的瀏覽器誰進來&瀏覽該網站緩存。

有沒有人知道如何在這裏添加某種cache-buster來強制部分代碼在用戶每次訪問時重新加載?

我讀過很多關於在單個頁面或全站範圍內完成此操作的說明,但在解決如何完成部分操作時遇到問題。

回答

1

這不是一個瀏覽器緩存,而是Rails。當它在生產環境中運行時 - 它緩存所有的ERB文件,所以最簡單的事情就是重新啓動你的Rails應用程序。但我認爲你可以在不更改ERB模板文件的情況下完成任務。你能提供更多關於你需求的信息嗎?

+0

生成的.ERB僅包含靜態HTML - 一個無序列表,我需要能夠在該網站的主頁的特定部分包含&顯示包含在該文件中的HTML。文件/ HTML每小時重新生成一次,因此我需要避免由用戶瀏覽器緩存該文件。 – Jason

+0

這就是Rails緩存。你可以用'File.read'部分加載這個無序列表 - 它阻止了緩存。 –

相關問題