2011-05-10 14 views
1

私はまだRailsのキャッシュシステムについてはわかりませんが、フラグメントキャッシュと呼ばれる機能のガイドセクションを読んでいます。Railsのフラグメントキャッシュはこの問題に適していますか?

私の問題は、私のビューは主に静的な要素で構成されていることです。ほとんど完全に静的ですが、唯一変わるのは、フォームにステータスメッセージと非表示の入力フィールドです(両方とも、ビューを処理するアクションへの要求ごとに生成されます)。

フラグメントキャッシングはこの問題に適していますか?どのようなキャッシング戦略を使用すべきですか?

答えて

1

フラグメントキャッシュが問題に適しています。ビュー全体ではなく、ビューの一部(フラグメント)をキャッシュできるので、適切です。ドキュメントから:

フラグメントキャッシュは 全体としてアクション全体をキャッシュすることなく、テンプレート 内 様々なブロックをキャッシュするために使用されます。これは、特定の アクションの要素が、 を頻繁に変更するか、または複雑な 状態に依存する場合に便利です。他の部分はまれに を変更するか、複数の パーティーで共有できます。キャッシングは、 アクションで利用可能なキャッシュヘルパー を使用して行われます。キャッシングテンプレートが 次のようになります。

<!-- this is the dynamic part--> 
<b>Hello <%= @name %></b> 

<% cache do %> 
    <%= render :partial => "static_part" %> 
<% end %> 

だから、あなたはそれの外にあなたのcacheブロック間の静的な部分、および動的な部分を置くことができます。 関連するドキュメントへのリンクは次のとおりです:rails fragment caching

関連する問題