Klassentabellenvererbung in Rails 3

Ich arbeite derzeit an einer Rails 3-Anwendung, die möglicherweise die Klassentabellenvererbung für einige Modelle verwenden muss.

in vereinfachtes Beispiel dafür, was los ist, ist das hie

Ich habe eine Klasse namens Person mit allgemeinen Attributen wie Name, E-Mail-Adresse und Kennwort, die allen Arten von Personen in der Anwendung gemeinsam sind und für die Authentifizierung verwendet werden.

Es gibt zwei Unterklassen für Person (oder zwei Arten von Personen ...), Fahrer und Beifahrer. Diese beiden Unterklassen haben die allgemeinen Attribute von Person gemeinsam, weisen dann jedoch spezifische zusätzliche Attribute auf, die für sich eindeutig sind. (Zum Beispiel kann ein Fahrer viele Fahrzeuge und Lizenzen haben, ein Passagier jedoch nicht.)

Wie würde ich CTI für diese Art von Situation implementieren? Ich habe mir hier ein Beispiel angesehen:

http: //rhnh.net/2010/08/15/class-table-inheritance-and-eager-loadin

Aber es wird nicht darüber spekuliert, wie von einem Fahrer- oder Beifahrerobjekt aus auf die allgemeinen Attribute einer Person zugegriffen werden kann, und das verwirrt mich ein bisschen.

as ich besonders gerne wissen würde, ist:

Wenn ich die Attribute eines Treibers aktualisiere, wie kann ich einfach auf die relevanten Attribute in der übergeordneten Personentabelle zugreifen und diese aktualisieren? Muss ich mich in einen after_save-Rückruf einbinden und herausfinden, welche Attributaktualisierung wohin geht? Oder gibt es einen besseren Weg, sich dem anzunähern?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage