2016-11-10 47 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

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