1
Comment.includes(:replies).without_replies
このようにしてすべてのコメントを取得します。私はAPIを書く。そして、私はActiveModelSerializer`を使用します。ModelSerializerのN + 1クエリ
コメントは、ユーザーとの関係があります。 belongs_to :user
class CommentSerializer < ActiveModel::Serializer
has_many :replies, class_name: 'Comment'
attributes :id,
:user_image_url
def user_image_url
object.user.image_url
end
end
コメントを残したユーザーの写真を取得する必要があります。 方法user_image_url
。 それはすべて良いです。 しかし、bullet
はメッセージを表示します。
GET /api/v1/comments?page=1&per_page=20
USE eager loading detected
Comment => [:user]
Add to your finder: :includes => [:user]
Call stack
/app/serializers/comment_serializer.rb:27:in `user_image_url'
私はこれを行いました。 Comment.includes(:replies, :user).without_replies
何もないのはなぜですか?