2016-05-24 10 views
1

私は「はい」とし、いくつかのテストは「はい」を指していますが、メモリ内にRailsキャッシュ(評価されていない)テンプレートがあることを示す文書を探したいと思います。以下のために、あるRailsはテンプレートをキャッシュしますか?

任意の.erb.sass、意志.jbuilderなどのテンプレートのRails:一度だけ

    1. ファイルからテンプレートを読み、必要なときにメモリからテンプレートを取得
    2. 生成された出力がキャッシュされていない限り、すべての呼び出しでテンプレートにデータを適用します。

    すべてのテンプレート/キャッシュの検索とドキュメントは、ポイント#3に焦点を当てているようです。そして、Railsフラグは、クラスキャッシングを有効/無効にします。しかし、クレーム#1 /#2を検証するドキュメントを見つけることは幻想的だと思われる。 Railsは毎回テンプレートファイルを再読み込みし、OSレベルのファイルキャッシュに依存していますか?

  • +0

    はいです。 。 。 –

    答えて

    0

    プロダクションでは、これを行うための呼び出しを追加すると、それが実行されます。あなたがfalseからtrueに次の行を変更することによって、それはあなたの設定/環境/ development.rbファイル内だけでなく、開発にキャッシュするように編集することができますしかし、開発モードで無効になっている:生産中

    config.action_controller.perform_caching = false 
    

    は、Railsは3を持っていますビューの場合のキャッシュの主な方法(dbキャッシングのためのrailsメソッドもあります)。ページキャッシング、アクションキャッシング、およびフラグメントキャッシュ。これらをRailsに実装するには、コントローラのcaches_pageマクロスタイルメソッドのような特定のヘルパーを使用できます。これにより、Railsディスパッチャーの関与がなくなり、ビュー全体がディスクにキャッシュされます。これは、ページが完全に静的で動的コンテンツがない場合にのみ使用してください。 caches_actionとフラグメントキャッシングはもっと細かい実装を提供し、おそらくRailsで大部分のユースケースを補完します。

    関連する問題