rails关联渴望加载has_many:通过

时间:2011-05-26 16:14:09

标签: ruby-on-rails associations eager-loading has-many-through

我无法找到将A类链接到E的方法。以下是隐含的类:

A有很多B
B属于A
B属于C
A有很多C到B

C有很多D
D属于C
D属于E class_name C
C has_many E到D

好的,我知道这很混乱,所以我制作了一个架构,我希望它更易于理解......

enter image description here

我的问题是如何将A类与E类联系起来(实际上C类具有特殊角色)。我怎样才能使用a.es(es =>复数E:s)?

我试过A has_many E到C(在我看来这是一个很好的解决方案,因为A has_many C(通过B)和C has_many E(通过D))但它引发了一个错误:

ActiveRecord :: HasManyThroughSourceAssociationMacroError:无效的源反射宏:has_many:through for has_many:es,:through => :CS。使用:source指定源反射

我在rails V2.3.9编码

如果您有任何想法请告诉我。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

虽然有一些插件可以扩展:through关系功能,但通常不可能使用ActiveRecord同时浏览多个层。限制通常是一:through,不再是。