我无法理解如何使用关联而不是user_id
和comment_id
之类的关联ID来获取所有相关记录。
假设我有三个模型User, Post, Comment, Image
,关联是
User
has_many :posts
has_many :comments
Post
belongs_to :user
has_many :comments
has_many :images
Comment
belongs_to :user
belongs_to :post
Image
belongs_to :post
现在我有一个user_id
用户并找到用户:
@user = User.find_by_id(params[:id])
@comments = @user.comments
现在我想获取这些评论,每个评论都是他们帖子的相关记录。我希望发布哈希而不是每个评论对应的post_id
。
我想在一个查询中执行此操作。
如果您有任何想法,请建议我。
答案 0 :(得分:2)
使用ID DC1 Date
1 sth2 2016-01-01
2 sth2 2014-01-01
:
includes(:association)
注意:这将进行另一个(第二个)查询。
或者,将其包含在初始查询中:
@user = User.find_by_id(params[:id])
@comments = @user.comments.includes(:post)