Rails:从关联模型中获取所有用户

时间:2013-01-19 06:30:32

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

说我有一个文章模型,用户模型和评论模型。如果我想让所有对特定文章发表评论的用户是最好的方式还是有更好的方式?

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

1 个答案:

答案 0 :(得分:2)

您有几个选择。

您可以添加

has_many :users, through: :comments

Article然后说:

@article.users

如果您因某些原因不想这样做,可以

@article.comments.collect(&:user)

我认为这会更有效率:

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

我希望有所帮助。