implemento una jerarquía de clases utilizando el patrón de ITSUsando alcance, definido en el modelo de los padres, por dentro, es hijo (patrón ITS)
class A
scope :aaa, where([someField]:[someValue])
end
class B < A
end
El problema es que cuando intento llamar algo así como:
B.limit(5).aaa
=> SELECT "[table]".* FROM "[table]" WHERE "[table]"."type" IN ('A') AND ([someField] = [someValue]) LIMIT 5
Así que estoy recibiendo 5 objetos de tipo a, que satisface alcance: aaa Pero tengo que hacer lo mismo con las filas donde type = "B"
¿hay alguna manera de utilizar los ámbitos de padre, sin redifinción en niños en el patrón STI?
Gracias de antemano
EDITADAS
acabo de hablar con mi frind y me mostraron una cosa importante. A no es la clase raíz de STI. De hecho toda la jerarquía parece
class O < ActiveRecord::Base
end
class A < O
scope ..... .....
end
class B < A
end
tal vez la razón es en sí misma jerarquía? ...
Funciona, pero aún curioso por qué mi ejemplo funciona no lo que yo esperaba – AntonTkachov