3

何かを入力するときに ajax 呼び出しを行って結果を取得する検索機能に取り組んでいます。検索キーワードを使用して検索アクションを memory_cache にキャッシュしたいので、次のようにします。

# caches_action with GET parameters

caches_action :search_posts, :cache_path => Proc.new { |c| c.params }

私の質問は、パラメーターを使用してアクションを期限切れにするにはどうすればよいですか? 私の機能を動作させる別の方法はありますか?

4

1 に答える 1

1

この種のキャッシュを期限切れにする方法はいくつかあります。

最初のもの (より単純なもの) は、caches_action ステートメントに :expires_in オプションを追加することです - 例:

caches_action :search_posts, :cache_path => Proc.new { |c| c.params }, :expires_in => 16.hours.to_i

これにより、しばらくするとこのキーは自動的に失効します。

または、コントローラーからの expire_action メソッドを使用して、このキャッシュを期限切れにすることもできます。次のようになります。

expire_action :action => 'posts', :q => 'query'

このページを 1 つのパラメータ q=query でリクエストしたとします。

詳細については、公式ドキュメントを参照してください。

于 2013-06-29T14:36:34.370 に答える