In meinem System habe ich STI bereits definiert. Dog
erbt von Animal
, in der animals
Tabelle gibt es eine type
Spalte mit dem Wert "Dog"
.Rails Single Table Vererbung: Wie überschreiben Sie den Wert in das Typfeld geschrieben
Jetzt möchte ich SpecialDog
erben von Hund, nur um das Verhalten etwas in einigen speziellen Fall zu ändern. Die Daten sind immer noch gleich. Ich brauche alle Abfragen, die über SpecialDog
ausgeführt werden, um die Werte in der Datenbank zurückzugeben, die den Typ Dog
haben.
Mein Problem ist, dass, da ich eine type
Spalte haben, Schienen WHERE "animals"."type" IN ('SpecialDog')
zu meiner Anfrage anfügt, damit ich nicht auf die ursprünglichen Dog
Einträge bekommen. Was ich will, ist irgendwie die Wertschienen außer Kraft zu setzen, die verwendet werden, wenn es auf die Datenbank durch SpecialDog
zugreift, um sich wie Dog
zu verhalten.
Gibt es eine Möglichkeit, die für die Typspalte verwendeten Werteschienen zu überschreiben?
Sparen Sie irgendwelche Hunde als SpecialDog? Oder sind alle Hunde Hund, aber sie sind manchmal besonders? – Frans
In der Datenbank sind sie immer 'Hund' – davidrac