これまでに作った機能について簡単にまとめていく。

今回は、

counter_cultureを使った子モデルのカウント機能

本記事ではいいねの数をカウント
いいね機能についてはこちら

使用モデル

Userモデル

カラム データ型
1 name string
2 email text
3 password_digest string

Blogモデル

カラム データ型
1 title string
2 content text
3 likes_count integer

Likeモデル(中間テーブル)

カラム データ型
1 user_id bigint
2 blog_id bigint

Gemの導入

gem 'counter_culture'

bundle installの実行

Gemに対応したカラムの作成

rails g counter_culture Blog likes_count

通常のカラムは使用できない

アソシエーションの作成

app/models/like.rb

class Like < ApplicationRecord
  belongs_to :user
  belongs_to :blog
  # 追加
  counter_culture :blog
end

以上で作成完了