假设我有一个文章模型、用户模型和评论模型。如果我想获得所有评论某篇文章的用户,这是最好的方法还是有更好的方法?
User.find(Article.first.comments.pluck(:user_id))
你有几个选择。
可以添加
has_many :users, through: :comments
到Article
,然后说:
@article.users
如果您出于某种原因不想这样做,您可以执行
@article.comments.collect(&:user)
我认为这样会更有效率:
@article.comments.includes(:users).collect(&:user)