Railsのフラグメントキャッシュを分解調査する(翻訳)

概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Disassembling Rails — Fragment Caching – Stan Lo – Medium 原文公開日: 2018/06/23 著者: Stan Lo — Goby言語の作者でありRails開発者です。 なお、本記事はRubyWeekly #405でも紹介されています。 Railsのフラグメントキャッシュを分解調査する(翻訳) 本記事は「Rails分解調査」シリーズの第一弾です。このシリーズのねらいは、Railsのコンポーネントを使うときにそれぞれの機能(今回のフラグメントキャッシュなど)が互いにどう絡み合うかという点について一般的な概念を示すことです。何ぶんこの種の記事を書くのは初めてですので、何かお気づきの点がありましたらぜひ元記事までコメントをどうぞ。 Railsのフラグメントキャッシュはほとんどの方がご存知か使ったことがあると思いますが、そのしくみについてはあまり知られていないのではないでしょうか。そこで本記事では、Railsの背後のフラグメントキャッシュのしくみについて簡単にご紹介したいと思います。 まず、フラグメントキャッシュの実行に関連する以下のコンポーネント(クラスやモジュール)を見ていきましょう。 ActionView::Helpers::CacheHelper AbstractController::Caching::Fragments ActiveSupport::Cache::Store もちろんここでは一般的な概念を示すにとどめますので、すべてのクラスやモジュールまではリストアップしていません。 ユーザーインターフェイス フラグメントキャッシュの使い方はいたってシンプルです。次のようにcacheを呼ぶだけで完了します。 <% cache project do %> <b>All the topics on this project</b> <%= render project.topics %> <% end %> このcacheメソッドがあるのはActionView::Helpers::CacheHelperというビューヘルパーです。 # File actionview/lib/action_view/helpers/cache_helper.rb, line … Continue reading Railsのフラグメントキャッシュを分解調査する(翻訳)