如何定义has_many通过通过轨道关联通过

问题描述:

考虑我有轨道模型名为A,B,C,D与以下关系。如何定义has_many通过通过轨道关联通过

A has_many B 
B belongs_to C 
A has_many C via B 
C belongs_to D 

现在,应该如何定义下面的关联方式?

A has_many D via C 

A has_many Bs 
A has_many Cs, :through => Bs 
(i.e B has_many Cs) 
C belongs_to :D 

A has_many Ds :through => Bs 

SELECT COUNT(*) FROM `Ds` INNER JOIN `Cs` ON `Ds`.`id` = `Cs`.`D_id` INNER JOIN `Bs` ON `Cs`.`B_id` = `Bs`.`id` WHERE `Bs`.`A_i 
+0

你有测试此代码..不工作我最终 –

+0

更新的问题..'B属于C' –