来自关联模型的ID列表

时间:2012-09-27 13:00:54

标签: ruby-on-rails activerecord associations

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

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

教科书案例:)

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

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

我确信这很简单,但我无法弄明白:)

谢谢!

1 个答案:

答案 0 :(得分: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,但我不确定。)