いいね数を表示する画面を作成しています。
現在以下のような実装になっており、viewの中のsong.likes.count
の部分でN+1回クエリが走ってしまっている状態です。
何か良い解決法がありましたら、ご教授いただけますと幸いです。
どうぞよろしくお願いいたします。
ruby
1# id: integer 2# user_id: integer 3# song_id: integer 4 5class Like < ApplicationRecord 6 belongs_to :song 7 belongs_to :user 8end
ruby
1# id: integer 2# name: string 3# email: string 4 5class User < ApplicationRecord 6 has_many :likes, dependent: :destroy 7end
ruby
1# id: integer 2# title: string 3 4class Song < ApplicationRecord 5 has_many :likes, dependent: :destroy 6end
ruby
1def show 2 @songs = Song.all 3end
ruby
1<% @songs.each do |song| %> 2 <p><%= song.title %></p> 3 <p>いいね: <%= song.likes.count %></p> #ここでN+1が発生 4<% end %>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/26 09:53
2020/05/26 09:56
2020/05/26 10:00
2020/05/26 10:10
2020/05/27 02:49