我遇到关联问题:
营 :has_many士兵
士兵 :has_many primaries
我需要这样做 @bseniorleads =(@ user.battalion.soldiers.find(:all,:conditions => [“seniorleader =?”,“是”])) 然后 @seniorspouse =(@ bseniorleads.primaries.find(:all,:conditions => [“relationship =?”,“Spouse”]
这给了我一个未定义的原色方法,我假设因为bseniorleads是一个数组?
基本上我不知道如何以正确的方式执行此操作,但我需要能够从一个符合条件的模型中查询一个组,然后获取该结果并从另一个属于它们的模型中查找人员。有什么想法吗?
提前致谢。
答案 0 :(得分:0)
您应该可以执行以下操作(假设您在第二个查询中只需要@bseniorleads
实例变量):
@senior_spouse = @user.battalion.soldiers.find(
:all,
:select => 'primaries.*',
:joins => [:primaries],
:conditions => ["seniorleader = ? and primaries.relationship = ?", "Yes", "Spouse"]
)
我还没有检查过,但我认为它应该让你非常接近。
你可能想查看这两个rails指南,这当然有助于我更好地理解ActiveRecord关联和查询: