は、私は私のusers.html.slimビューで、次があります。インナーHTMLが変更された場合に、フラグメントキャッシュを期限切れにしますか?
.header
Welcome
- cache ['user/details', user.last_modified] do
= render 'user/details', user: @user
私の問題は、私はマークアップを変更したことで、ユーザーが実際に変更されていないので、私はまだキャッシュされたバージョンを取得します。ビューのフラグメントが (ビューの変更では、例えば、HTML)を変更したときに
は、ドキュメントによると、HTMLが変更されたことから、キャッシュの有効期限
キャッシュの断片も期限切れになります。鍵の最後の の文字列は、テンプレートツリーダイジェストです。これは、キャッシングしているビューフラグメントの内容に基づいて計算されたMD5ハッシュ です。 ビューフラグメントを変更すると、MD5ハッシュが変更され、 既存ファイルが期限切れになります。
しかし、それはケースではないようです。
このシナリオを解決する適切な方法は何ですか?あなたがキーに依存するパラメータは変更されていませんが、実際のマークアップは変更されています。
- cache ['user/details/v2', user.last_modified] do
= render 'user/details', user: @user
しかし、それは、これらのシナリオでは、より適切なものだ場合、私は疑問に思って:私のような何かを行う上で考えています。
ユーザーが更新または変更されていません。変更されたのは、ユーザー/詳細の部分的なマークアップです。それは私の質問についてです。 –
私は部分の内部にキャッシュを追加します。ファイルが変更されたときにも期限切れになるはずです。 – kobaltz