Как фильтровать предварительно загруженный имеет много ассоциаций - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть модель Post, и я хотел показать все сообщения текущему пользователю вместе с комментариями текущего пользователя.

Вот мой текущий код.

Post.preload(:comments)

Он вернет все сообщения и свои комментарии.Как я могу отфильтровать комментарии, чтобы включить только комментарии текущего пользователя?

1 Ответ

0 голосов
/ 18 февраля 2019

Для этого вы можете создать область действия:

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

А затем

Post.user_comments(current_user)
...