0

記事モデル、ユーザー モデル、コメント モデルがあるとします。特定の記事にコメントしたすべてのユーザーを取得したい場合、これが最善の方法ですか、それとももっと良い方法がありますか?

User.find(Article.first.comments.pluck(:user_id))
4

1 に答える 1

2

いくつかのオプションがあります。

あなたは付け加えられます

has_many :users, through: :comments

次に、Article次のように言います。

@article.users

なんらかの理由でそれをしたくない場合は、

@article.comments.collect(&:user)

これはより効率的だと思います:

@article.comments.includes(:users).collect(&:user)

それがお役に立てば幸いです。

于 2013-01-19T07:15:42.137 に答える