1

我無法找到一種方法來鏈接到類A至E這裏是隱含的類:軌協會預先加載與的has_many:通過

A有裏許多
B屬於一個
B屬於ç
A具有通過乙許多C

C具有許多d
d屬於至C
d屬於到E CLASS_NAMEç
ç的has_many E至d

好吧,我知道這是混淆了,所以我做了一個方案,我希望這是更容易理解......

enter image description here

我的問題是如何鏈接的A級與E級(這在現實中是具有特殊作用的C類)。我如何使用a.es(es =>複數的E:s)?

我試過的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。使用:源指定源反射

我編碼在軌道上V2.3.9

如果您有任何想法,請告訴我。 預先感謝您。

回答

0

雖然有一些插件可以擴展:through關係功能,但通常不可能同時使用ActiveRecord在多個圖層中導航。限制通常是一個:through,不再。

+0

但即使我不能直接做a.es我至少可以做a.cs.es(cs =>複數的C,es =>複數的E),然後在'es'中添加一個'es'方法A允許做a.es. 你能給我一個這些插件的鏈接嗎? – guts 2011-05-27 07:42:47