W moim systemie mam już zdefiniowane STI. Dog
dziedziczy po Animal
, w tabeli animals
znajduje się kolumna type
o wartości "Dog"
.Dziedziczenie pojedynczego stołu w Railsach: Jak przesłonić wartość zapisaną w polu typu
Teraz chcę, abyodziedziczył po psie, aby zmodyfikować zachowanie nieznacznie w niektórych szczególnych przypadkach. Dane są wciąż takie same. Potrzebuję wszystkich kwerend, które są uruchamiane przez SpecialDog
, aby zwrócić wartości w bazie danych, które mają typ Dog
.
Mój problem polega na tym, że ponieważ mam kolumnę type
, szyny dołączają WHERE "animals"."type" IN ('SpecialDog')
do mojego zapytania, więc nie mogę dostać się do oryginalnych wpisów Dog
. Tak, czego chcę, to w jakiś sposób przesłonić wartości używane przez szyny wartości, gdy uzyskuje dostęp do bazy danych poprzez SpecialDog
, aby zachowywać się jak Dog
.
Czy istnieje sposób na przesłonięcie korzystania z szyn wartości dla kolumny typu?
Czy zapisujesz jakieś psy jako SpecialDog? Czy wszystkie psy są psami, ale czasami są wyjątkowe? – Frans
W bazie danych są one zawsze "Dog" – davidrac