2011-11-14 21 views
0

私はアプリを持っていて、ページの一部をキャッシュしたいと思っています。ruby​​ on rail 3.1フラグメントキャッシング

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

の自動書き出しでフラグメントキャッシュを使用したいと思います。

<% 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 %> 

ここで自動エキスパートを設定しますか?どのような例ですか?これどうやってするの?お使いの製品モデルで

答えて

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}) 
ような何かを行うことができます