1

我目前正在开发处理帐户和用户的 Rails 3 应用程序。我正在尝试在模型上建立活动记录关联。对于当前的实现,我有帐户、用户和联系人模型。但这也涉及多态关系。我确实还有一个单独的表,称为关系表,其中存储了这些 has_many 关系的 id。

帐户:

has_many :users, :through => :relations, :as => :asset

用户:

has_many :contacts, :through => :relations, :as => :asset

关系:

属于_to :asset, :owner

例如:Account1 有 2 个用户。每个用户下有 2 个联系人。下面是关系表:


Asset       Owner

User1       Account1

User2       Account1

Contact1    User1

Contact2    User1

Contact3    User2

Contact4    User2

这样可以跟踪每个关联。每个模型都有定义的关联。我在建立关联方面面临的问题是:

我需要建立从 Account 到 Contacts 的关联,以便我可以列出 User1 和 User2 下的所有联系人,也在一个帐户下。我可以执行 Account = User1.contacts + User2.contacts 之类的操作。但这不合适。

那么Rails 3中是否有任何概念可以实现(account.contacts),所以通过这个而不是遍历每个用户来获取联系人列表然后总结它们,我可以直接拥有联系人列表?

欢迎任何形式的建议...

4

0 回答 0