这里查询有点复杂。三个相关的表格:用户,帖子和评论。用户has_many帖子和评论,帖子属于用户和has_many评论,评论属于用户和帖子。也就是说,我在Rails中试图在我的控制器中查找用户在他所有帖子中收到的所有评论。我试过这个:rails找到帖子的所有评论user_id = user
@comments = Comment.where(:post_id.user => @user.id)
但这并没有真正解决。这可能是一个简单的解决方案,帮助?
这里查询有点复杂。三个相关的表格:用户,帖子和评论。用户has_many帖子和评论,帖子属于用户和has_many评论,评论属于用户和帖子。也就是说,我在Rails中试图在我的控制器中查找用户在他所有帖子中收到的所有评论。我试过这个:rails找到帖子的所有评论user_id = user
@comments = Comment.where(:post_id.user => @user.id)
但这并没有真正解决。这可能是一个简单的解决方案,帮助?
你必须join该职位表:
@comments = Comment.joins(:post).where(:posts => { :user_id => @user.id })
真棒,谢谢。 – user1152706 2012-08-04 04:47:41
你也可以这样做:
@user = User.find(@user.id, :include => :comments)
<% @user.comments.each do |comment| %>
<%= comment.id %> <br/>
<%= comment.text %>
<% end %>
这可以帮助你知道你能不能做:) HTTP ://guides.rubyonrails.org/active_record_querying.html – 2012-08-04 04:49:18