2012-09-27 22 views
0

我有3個模型:用戶,文章和註釋。關聯模型的ID列表

  • Articel有很多評論。
  • 評論屬於文章。
  • 用戶有很多意見。

教科書案例:)

我想就其中用戶已上發表的評論文章ID的列表。我怎麼做?

我已經嘗試過控制檯中的User.find(1).comments.articles_ids變體,但是這給了我一個未定義的方法錯誤。

我敢肯定,這很簡單,但我cant't看着辦吧:)

謝謝!

回答

1

這樣做的一種方式,與您目前的設置工作:

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

另外我想你可以添加一個has_many :throughUser

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

,那麼你可以通過user.articles.collect(&:id)得到IDS (也許還有user.article_ids,但我不確定)。

+0

看到..我知道這很簡單..我去了has_many:通過解決方案,它像user.artcles_ids的魅力一樣工作..謝謝你! – Twiddr

+0

以及..它沒有工作後..因爲用戶也有很多文章,它會給我一些問題..但是,然後我刪除了很多通過選項,並嘗試了user.comments.collect(&:article_id).uniq這似乎更好地工作,並沒有給我任何問題..很好的答案與多個選項可供選擇:) – Twiddr