2016-06-13 6 views
0

私は2つのモデル、投稿とコメントを持っているとしましょう。投稿has_manyコメント。Model.joins(:some_association)内の他の関係にアクセスする方法

class Post < ActiveRecord::Base 
    has_many :comments 
end 

class Comment < ActiveRecord::Base 
    belongs_to :post 
end 

投稿、コメントのペアのリストを取得したいとします。私はこれを行うことができます:

Post.includes(:comments).each do |post| 
    post.comments.each do |comment| 
    # do something with post and comment 
    end 
end 

をしかしのは、何らかの理由で多分1つの少ないデータベースクエリを実行するためにことを言わせて、私は参加しない:

Post.joins(:comments) 
# => [#<Post:0xblahblah>] 

は、上記のクエリによって返された記事の1を考えます投稿が結合されたコメントにはどうすればアクセスできますか?

答えて

0

ps:熱心な負荷の場合は、結合の代わりにインクルードを使用します。 post.commentsによって特定の投稿コメントに直接アクセスすることができます。 comment.postによるコメント投稿へのアクセス

関連する問題