2017-10-29 18 views
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何もないのはなぜですか?

答えて

0

Comment.includes(:replies, :user).without_repliesを試しましたか?

関連する問題