在两级深度访问has_many活动记录关联?

时间:2012-07-27 06:46:49

标签: ruby-on-rails-3 activerecord has-many-through polymorphic-associations model-associations

我目前正在开发处理帐户和用户的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),所以通过这个而不是遍历每个用户获取联系人列表然后总结它们,我可以直接联系列表吗?

欢迎任何建议......

0 个答案:

没有答案