0

我有 3 个模型:用户、文章和评论。

  • 文章有很多评论。
  • 评论属于文章。
  • 用户有很多评论。

课本案例:)

我想列出用户发表评论的文章 ID。我怎么做?

我已经在控制台中尝试了 User.find(1).comments.articles_ids 的变体,但这给了我一个未定义的方法错误。

我确定这很简单,但我无法弄清楚:)

谢谢!

4

1 回答 1

1

一种方法,适用于您当前的设置:

user.comments.collect(&:article_id).uniq

或者我想你可以添加has_many :through一个User

class User < ActiveRecord::Base
  has_many :articles, :through => :comments
end

那么你可以通过user.articles.collect(&:id)(也许也可以user.article_ids,但我不确定)获取ID。

于 2012-09-27T13:21:17.877 回答