Class A
has_many :b
def my_b_with_c
#all B that have C and belong to A
self.bs.has_c
end
Class B
belongs_to :a
has_many :c
scope :has_c, :join => :c
Class C
belongs_to :b
我的问题是当我做A.first.my_b_with_c时,我得到重复的记录。实现my_b_with_c的正确方法是什么(和/或B的范围) 谢谢!
答案 0 :(得分:1)
解决了它。
替换
scope :has_c, :join => :c
与
scope :has_c, joins(:c).group("bs.id")
下一个问题是做has_c.count,需要是has_c.all.count
干杯