has_many在两个层面

时间:2010-02-22 18:14:57

标签: ruby-on-rails

我使用的是Rails 2.3.5。

公司有很多用户。用户有很多电子邮件地址。关联表是company_users和user_emails表。

我想获取公司的所有电子邮件地址。最有效的方法是什么?

2 个答案:

答案 0 :(得分:2)

在公司定义中添加以下行:

has_many :emails, :through => :users

现在所有公司对象都有emails方法,该方法会返回该公司所有用户的所有电子邮件。

答案 1 :(得分:2)

尝试以下方法:

has_many :emails, :through => :users

不确定该关联是否适用于许多人,但值得一试。可以找到文档here