1

inherited_resource プラグインを使用してアプリケーションを構築し、本番環境に移行する準備ができました。

現在、同じアプリケーションにキャッシュを実装する方法を検討しています。current_user に依存するページのフラグメントがいくつかあるので、フラグメント キャッシュ メカニズムを使用します。

inherited_resource ベースのビューとコントローラーのフラグメント キャッシングの実装に役立つポインターまたはリソースを提供してもらえますか?

ありがとう、アジャイ・クマールG

4

1 に答える 1

0

私は inherited_resources を使用しませんが、コントローラーのショートカットにすぎないと理解しています。ビューは標準である必要があります。その場合、Rails ガイド ( http://guides.rubyonrails.org/caching_with_rails.html#fragment-caching ) で説明されているようにフラグメント キャッシュを使用できます。

あなたはそれを試しましたか?それがうまくいかない場合は、ビューがどのように見えるかを示してください。


edit : コメントへの応答。

一般に、フラグメント キャッシングを使用している場合、コントローラー アクションを呼び出さないのは意味がありません。変数が設定されていないためです。変数がない場合、ページ キャッシングを使用しないのはなぜですか?

クエリが発火するのを防ぐために、arel を備えた ActiveRecord 3.0 はあなたの味方です。たとえば、アクションに @posts = Post.where(:published => true) を配置すると、ビューで @posts.each を呼び出すまで呼び出されないため、それをキャッシュ ブロック内に配置すると、呼ばれることはありません。inherited_resources がデフォルトで何をするのかはわかりませんが、José Valim によって書かれていることを考えると、彼は ActiveRecord のその機能をデフォルトで使用していると思います。開発環境のキャッシュを有効にし、ログを見て、どのクエリが起動されているかを確認することで、テストできます。

于 2011-05-29T14:53:38.760 に答える