counter_cache

カウンターキャッシュ(counter_cache)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

子モデルの数を親モデルのカラムに保存

概要

  • デフォルトを0
  • カラム名は、子モデルのテーブル名_countがおすすめ

使い方

belongs_to :親モデル, :counter_cache => :親モデルのカラム

Commentの登録や削除で、comments_countが自動更新
def self.up
  add_column :entries, :comments_count, :integer, : default => 0
end
belongs_to :entry, :counter_cache => :comments_count

ソースコード検索