2012-01-24 6 views
0

私は60分ごとに静的なHTMLコード(erbテンプレートとして保存)のブロックを生成するcronジョブを持っています。このブロックは、クライアント製品カタログに追加された最新の20個の製品を示しています。Rails 2.3 - ブラウザが部分的にキャッシュするのを防ぐには?

私のコードは、部分として、このブロックをレンダリングする:

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

問題は、この部分は、サイトを閲覧&来るユーザーのブラウザにキャッシュされてきていることがあります。

ここで、何らかのキャッシュバスターを追加する方法を知っている人がいますが、ユーザーの訪問ごとに部分コードを強制的に再ロードするようにしていますか?

これは個々のページやサイト全体でこれを行うための手順をたくさん読んだが、部分的な場合にしかどうやってこれをやり遂げることができないのかという問題を抱えている。

答えて

1

これはブラウザのキャッシュではなく、Railsです。実稼働環境で実行すると、すべてのERBファイルがキャッシュされるため、最も簡単なのはRailsアプリケーションを再起動することです。しかし、私はあなたがERBテンプレートファイルを変更することなくあなたの仕事をすることができると思う。あなたのニーズに関する詳細情報を提供できますか?

+0

生成される.ERBには静的なHTMLのみが含まれています - 順序付けられていないリストです。このサイトのホームページの特定の部分にそのファイルに含まれているHTMLを含めることができます。ファイル/ HTMLは1時間ごとに再生成されるため、ユーザーのブラウザにキャッシュされないようにする必要があります。 – Jason

+0

それはRailsのキャッシュです。その順序付けられていないリストを 'File.read'で部分的に読み込むことができます。 –

関連する問題