rails找到帖子的user_id = user的所有评论

use*_*706 3 ruby activerecord ruby-on-rails

这里的查询有点复杂.三个相关表:用户,帖子和评论.用户有很多帖子和评论,帖子属于用户和has_many评论,评论属于用户和帖子.也就是说,我正在尝试使用Rails,在我的控制器中找到用户在所有帖子上收到的所有评论.我试过这个:

@comments = Comment.where(:post_id.user => @user.id)
Run Code Online (Sandbox Code Playgroud)

但这并没有真正奏效.这可能是一个简单的解决方案,帮忙吗?

Mis*_*cha 7

您必须加入 posts表:

@comments = Comment.joins(:post).where(:posts => { :user_id => @user.id })
Run Code Online (Sandbox Code Playgroud)