Railsの - フラグメントキャッシュが期限切れではありません
-
23-08-2019 - |
質問
この1は私が困惑しています。
私は、キャッシュされたフラグメントとの見解を持っています:
- cache :key=>"news" do
%h2 News
- etc
私が使用して掃除をしています:
def expire_home_cache
puts "expire_home_cache"
expire_fragment(:key => "news")
end
私はコンソール出力に「expire_home_cache」を見ることができるようにスイーパーが呼び出されます。
しかし、フラグメントが更新されません...
任意のアイデア?
解決
あなたはこれを試してみてください。
cache("news") do
%h2 News
- etc
end
と...
def expire_home_cache
puts "expire_home_cache"
expire_fragment("news")
end
...またはこれを試してみてください...
- cache({:key=>"news"}) do
%h2 News
- etc
私は、問題は、ルビーやレールは、キーが正確ので、キャッシュ方式とexpire_fragmentは、2つの異なるキャッシュキーを生成しているされていることを決定苦労していることかもしれ考えています。
他のヒント
タグ
expire_fragment(:key => "news")
でActionController::Base.new.expire_fragment(:key => "news")
を交換してみてください
説明する時間がないが、それは私のために働いています。
これを行うための適切な方法はあります:
cache :news do
...
end
そして、あなたのスイーパーでます:
expire_fragment :news
これは直接あなたの質問に答えていませんが、代替としてtimed_fragment_cacheプラグインを試してみました?
http://github.com/tricycle/timed_fragment_cache/tree/masterする
私は、これが私のプロジェクトにフラグメントを期限切れのはるかに簡単な方法であることがわかっています。
所属していません StackOverflow