2016-11-10 49 views
1

比方说,我有三种型号:A,B,CRails的 - 有很多多层嵌套协会

class A 
    has_many :bs 
end 

class B 
    has_many :cs 
end 

什么是宣布在A点关联,以便我可以访问所有的C的它具有通过最简单的方法B'所以我可以打电话给a_object.c_objects。 愚蠢的问题,但我有点卡住了。谢谢!

回答

2

如果你已经建立了协会

一个有很多B,和B的has_manyç

,那么你所有的设置。唯一要做的就是添加下面的代码(不需要更改数据库):

class A 
    has_many cs, through: :bs 
end 

并使用a_object.c_objects

+0

这是要去工作。谢啦兄弟! –

+0

@RonanLopes没有probs :) –

1
class A 
    has_many :cs, through: :bs 
end 

这应该rails link

在此之后,你会use and use a_object.c_objects

+0

这个答案是如何带来与已有的相比有什么新的? :) –

+0

这是链接的详细has_many:CS,通过关系 – Sunny

+0

你同意,除了链接的答案是给定的副本? –