0

私はアプリを持っていて、ページの一部をキャッシュしたいのですが、これを行う方法についてたくさん読んでいます。

私のプロジェクトでフラグメント キャッシングが最適な方法であることは理解していますが、これを実装する方法を学ぶための簡単な例が見つかりません。

autoexpireでフラグメントキャッシュを使用したいと思います。

 <% cache(:action => 'recent', :action_suffix => 'all_products') do %>
      All available products:
      <% Product.all.each do |p| %>
        <%= link_to p.name, product_url(p) %>
      <% end %>
    <% end %>

autoexpire はどこで設定しますか? 例はありますか?これどうやってするの?

4

1 に答える 1

2

製品モデルでは、次のようなことができます

  after_save :expire_caches
  after_destroy :expire_caches

  # can't do this in a sweeper since there isn't a controller involved
  def expire_caches
      ActionController::Base.cache_store.delete_matched(%r{product\?for=\d+&fragment=products})
于 2011-11-14T20:02:20.653 に答える