2016-04-08 4 views
0

コメントに関連する投稿があります。私は最初の10の記事から一連のコメントを作成したいと思います。私は次の方法を持っていたが、to_aはもはや動作しないようだ?これはN + 1のクエリを与えるでしょうか?それらをプリロードするにはincludes(:comments)する必要がありますか?アクティブレコードアソシエーションの配列を作成するRails4

def 10_posts_comments 
    posts = Post.limit(10) 

    posts.flat_map do |post| 
    post.comments.to_a 
    end 

end 

私はまだこれで新しいので、何か助けに感謝します。

答えて

0

あなたはこの

def 10_posts_comments  
    Comment.where(post: Post.limit(10)).to_a 
end 
0

はあなたが試すことができ試すことができます:それは私の主要な10申し訳ありませんが気にするので

def latest_comments 
    Post.includes(:comments).last(10).map(&:comments).flatten 
end 
+0

あなたのメソッドを使用することができますが、私は名前を変えました。 – thelastinuit

関連する問題