2016-04-08 19 views
0

Yorumlarınızla ilişkili gönderilerim var. İlk 10 yayından bir dizi yorum oluşturmak istiyorum. Aşağıdaki yöntem vardı ama to_a artık çalışmıyor gibi görünüyor? Ayrıca bu bir N + 1 sorgusu verecek mi? Önceden yüklemek için includes(:comments) yapmalı mıyım?Etkin kayıt ilişkilendirmesi dizisi oluştur Rails4

def 10_posts_comments 
    posts = Post.limit(10) 

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

end 

Bu konuda hala yeniyim, bu nedenle herhangi bir yardım takdir edildi.

cevap

0

Bu

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

sen deneyebilir miyim deneyebilirsiniz: bana gelen 10. Üzgünüm rahatsız beri

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

Sen yöntemi kullanabilirsiniz, sadece adını değiştirdi. – thelastinuit