implemento una gerarchia di classi usando il modello della STIUtilizzando ambito, definito nel modello di genitore, al suo interno del bambino (modello STI)
class A
scope :aaa, where([someField]:[someValue])
end
class B < A
end
Il problema è che quando provo a chiamare qualcosa come:
B.limit(5).aaa
=> SELECT "[table]".* FROM "[table]" WHERE "[table]"."type" IN ('A') AND ([someField] = [someValue]) LIMIT 5
Così sto ottenendo 5 oggetti di tipo a, che soddisfa la portata: aaa Ma ho bisogno di fare lo stesso con righe in cui type = "B"
c'è un modo per utilizzare gli ambiti da genitore, senza ridistribuirlo in child in pattern STI?
Grazie in anticipo
a cura
Ho appena parlato con il mio frind e mi ha mostrato una cosa importante. A in non la classe radice di STI. In realtà tutta la gerarchia sembra
class O < ActiveRecord::Base
end
class A < O
scope ..... .....
end
class B < A
end
forse il motivo è nella gerarchia stessa? ...
Funziona, ma ho ancora curioso di sapere perchè il mio esempio non funziona come mi aspetto che – AntonTkachov