Escopo que tem três níveis de junções profundas

MinhasProgram mesa tem muitosMeasures MinhasMeasure mesa tem muitosTargets MinhasTarget tabela tem uma coluna chamada "dinheiro"

Minha consulta ActiveRecord se parece com isso:

@programs2 = Program.includes([measures: :target]).where('organization_id = 1').limit(2)

Eu quero definir um escopo de tal forma que a consulta pode retornar programas superiores que seu valor target.money é o menor. Então eu preciso escrever um escopo e aplicá-lo a essa consulta, mas como e onde no modelo devo definir esse escopo, algo assim? Bem, isso não vai funcionar, mas é tanto quanto eu sei.

scope :top5, :joins => [:measures, :targets]  ,  :order => "money DESC"

questionAnswers(1)

yourAnswerToTheQuestion