我目前正在开发处理帐户和用户的Rails 3应用程序。我正在尝试在模型上建立活跃的记录关联。对于当前的实施,我有帐户,用户和联系模式。但这也涉及到多态关系。我还有一个名为Relation表的独立表,它将has_many关系的id存储在其中。
帐户:
has_many:users,:through => :relations,:as => :资产
用户:
has_many:contacts,:through => :relations,:as => :资产
关联:
belongs_to:asset,:owner
例如:Account1有2个用户。每个用户下面都有2个联系人。下面是关系表:
Asset Owner
User1 Account1
User2 Account1
Contact1 User1
Contact2 User1
Contact3 User2
Contact4 User2
这保留了每个协会的轨道。每个模型都定义了has_many关联。 我正面临构建关联问题的事情是::
我需要建立从帐户到联系人的关联,以便我可以在帐户下列出User1和User2下的所有联系人。 我可以执行Account = User1.contacts + User2.contacts等操作。 但这不合适。
因此Rails 3中有任何概念可以实现(account.contacts),所以通过这个而不是遍历每个用户获取联系人列表然后总结它们,我可以直接联系列表吗?
欢迎任何建议......