Соединить область видимости с отношением has_many own_to - PullRequest
0 голосов
/ 23 марта 2011
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) Спасибо!

1 Ответ

1 голос
/ 23 марта 2011

решил это.

заменил

scope :has_c, :join => :c

на

scope :has_c, joins(:c).group("bs.id") 

Следующая проблема была в has_c.count, который должен быть has_c.all.count

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...