私のアプリケーションでアクションキャッシュが期限切れになる問題があります。ここでカスタムcache_pathを使用してアクションキャッシュを期限切れにする
は私のコントローラである:
class ToplistsController < ApplicationController
caches_action :songs, cache_path: :custom_cache_path.to_proc
def custom_cache_path
"#{params[:when]}-#{params[:what]}-#{params[:controller]}-#{params[:action]}"
end
def songs
# ...
end
end
私は何とかカスタムキャッシュパスをリセットできるようにする必要がありますが、私はどのように把握することはできません。
私はすでにthis techniqueを使ってみましたが、成功しませんでした。私のキャッシュエンジンであるDalliはregexp matcherをサポートしていないようです。
このコードを使用しようとしたとき、私はこのエラーを取得しています:
expire_fragment(/songs/)
ActiveSupport::Cache::DalliStore does not support delete_matched
私はデバッグのために、コード行を使用しようとしたが、それは無視されています。
before_filter only: [:songs]
expire_fragment(custom_cache_path)
end
私はRails 3.1.0.rc6、Dalli 1.0.5、およびRuby 1.9.2を使用しています。
あなたはdallicacheで正規表現を使用しています:https://github.com/defconomicron/dalli-store-extensions –
私はそれを試してみます、ありがとう。 – Oleander