Ámbito que tiene tres niveles profundos.

MiProgram la mesa tiene muchosMeasures MiMeasure la mesa tiene muchosTargets MiTarget La tabla tiene una columna llamada "dinero"

Mi consulta de ActiveRecord se ve así:

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

Quiero definir un alcance tal que la consulta pueda devolver los mejores programas cuyo valor target.money sea el más bajo. Entonces, necesito escribir un alcance y aplicarlo a esa consulta, pero ¿Cómo y dónde en el modelo debo definir ese alcance, algo como esto? Bueno, esto no funcionará, pero eso es todo lo que sé.

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta