私のアプリでは、が を で作成User
すると、そのコメントを未読としてマークする が生成されます。Comment
Post
Notifications
class Notification < ActiveRecord::Base
belongs_to :user
belongs_to :post
belongs_to :comment
class User < ActiveRecord::Base
has_many :notifications
class Post < ActiveRecord::Base
has_many :notifications
ユーザーのすべての投稿と、そのユーザーだけの各投稿の通知数を一覧表示するインデックス ページを作成しています。
# posts controller
@posts = Post.where(
:user_id => current_user.id
)
.includes(:notifications)
# posts view
@posts.each do |post|
<%= post.notifications.count %>
すべてのユーザーの通知をカウントするため、これは機能しません。各投稿で個別のクエリを実行せずに、1 人のユーザーの通知をカウントする効率的な方法は何ですか?