Aktualnie pracuję nad aplikacją Rails 3, która może wymagać użycia dziedziczenia klasy Class w kilku modelach.Dziedziczenie tabeli klas w szynach 3
Uproszczonym przykładem tego, co się dzieje, jest to.
Mam klasę o nazwie Osoba o ogólnych atrybutach takich jak nazwa, adres e-mail, hasło, które są wspólne dla wszystkich typów osób w aplikacji i używane do uwierzytelniania.
Istnieją dwie podklasy dla osoby (lub dwóch typów osób ...), kierowcy i pasażera. Obie te podklasy mają wspólne atrybuty Person, a następnie mają określone dodatkowe atrybuty, które są unikalne dla nich samych. (na przykład Kierowca może mieć wiele Pojazdów i Licencji, ale Pasażer nie chciałby)
Jak wdrożyć CTI dla tego rodzaju sytuacji? Szukałem na przykład dostarczonych tutaj:
http://rhnh.net/2010/08/15/class-table-inheritance-and-eager-loading
Ale nie spekulować na temat dostępu do wspólnych cech osoby z obiektu kierowcy lub pasażera i jestem nieco zdezorientowany że.
W szczególności, co chciałbym wiedzieć:
Jeśli mam aktualizowanie atrybuty Kierowca, w jaki sposób można łatwo uzyskać dostęp i zaktualizować odpowiednie atrybuty na stole ludzi rodzicem? Czy muszę podłączyć się do wywołania zwrotnego after_save i oddzielić aktualizację atrybutu gdzie? Czy istnieje lepszy sposób podejścia do tego?
Powinienem dodać, że jest to uproszczony przykład tego, co się dzieje w mojej aplikacji. Jestem pewien, że muszę wdrożyć dziedzinę dziedziczenia klasy w mojej sytuacji, dziedziczenie z pojedynczego stołu nie byłoby najlepszym sposobem. –
Dodałem komentarz do bloga, o którym wspomniałem w swoim pytaniu, a autor uprzejmie podał przykład jednego z tych sposobów: http://rhnh.net/2010/08/17/updating-class-table-inheritance- tabele (You rock Xavier!) –