Attualmente sto lavorando a un'applicazione Rails 3 che potrebbe aver bisogno di utilizzare l'ereditarietà delle tabelle di classe per un paio di modelli.Ereditarietà delle tabelle di classe in Rails 3
Un esempio semplificato di ciò che sta succedendo è questo.
Ho una classe denominata Persona con attributi generali come nome, email, password comuni a tutti i tipi di persone nell'applicazione e utilizzati per l'autenticazione.
Ci sono due sottoclassi a Persona (o due tipi di persone ...), Driver e Passeggero. Entrambe queste sottoclassi condividono gli attributi generici di Person ma poi hanno attributi aggiuntivi specifici che sono unici per loro stessi. (ad esempio un autista può avere molti veicoli e licenze ma un passeggero non lo farebbe)
Come implementare CTI per questo tipo di situazione? Ho cercato un esempio fornito qui:
http://rhnh.net/2010/08/15/class-table-inheritance-and-eager-loading
Ma non specula su come accedere gli attributi comuni di una persona da un oggetto Autista o Passeggeri e io sono un po 'confuso da quella.
In particolare, quello che vorrei sapere è:
Se sto aggiornando gli attributi di un driver, come posso facilmente accedere e aggiornare gli attributi rilevanti sul tavolo padre people? Devo collegarmi ad un callback after_save e separare quale aggiornamento di attributo va dove? O c'è un modo migliore per avvicinarsi a questo?
Vorrei aggiungere che questo è un esempio semplificato di ciò che sta realmente accadendo nella mia app. Sono sicuro di aver bisogno di implementare l'ereditarietà delle tabelle di classe nella mia situazione, l'ereditarietà a tabella singola non sarebbe il modo migliore. –
ho messo un commento sul blog ho fatto riferimento nella mia interrogazione e l'autore ha gentilmente fornito un esempio di un modo per farlo: http://rhnh.net/2010/08/17/updating-class-table-inheritance- tavoli (you rock Xavier!) –