如何过滤预加载有很多关联

时间:2019-02-18 06:44:46

标签: ruby-on-rails rails-activerecord

我有一个Post模型,我想向当前用户显示所有帖子以及当前用户的评论。

这是我当前的代码。

Post.preload(:comments)

它将返回所有帖子及其评论。如何过滤评论以仅包括当前用户的评论?

1 个答案:

答案 0 :(得分:0)

要实现此目的,您可以创建范围:

scope :user_comments, -> (user) { includes(:comments).where(comments: { user: user }) }

然后

Post.user_comments(current_user)