Actualmente estoy trabajando en una aplicación de Rails 3 que parece necesitar la herencia de la Tabla de Clase para un par de modelos.Herencia de Tabla de Clase en Rails 3
Un ejemplo simplificado de lo que está pasando es esto.
Tengo una clase llamada Persona con atributos generales como nombre, correo electrónico, contraseña, que son comunes a todo tipo de personas en la aplicación y se usan para la autenticación.
Hay dos subclases para Persona (o dos tipos de personas ...), Conductor y Pasajero. Ambas subclases comparten los atributos genéricos de Persona pero luego tienen atributos adicionales específicos que son únicos para ellos mismos. (por ejemplo, un controlador puede tener muchos vehículos y licencias, pero un pasajero no)
¿Cómo implementaría CTI para este tipo de situación? He estado buscando en un ejemplo proporcionado aquí:
http://rhnh.net/2010/08/15/class-table-inheritance-and-eager-loading
Pero no especula sobre cómo acceder a los atributos comunes de una persona de un objeto conductor o del pasajero y yo soy un poco confundido por ese.
En particular, lo que me gustaría saber es:
Si estoy actualizando los atributos de un conductor, ¿cómo puedo acceder y actualizar los atributos correspondientes en la tabla de parent? ¿Tengo que engancharme en una devolución de llamada after_save y separar qué actualización de atributo va a dónde? ¿O hay una mejor manera de abordar esto?
Debo añadir que este es un ejemplo simplificado de lo que realmente está sucediendo en mi aplicación. Estoy seguro de que necesito implementar la herencia de tabla de clase en mi situación, la herencia de tabla única no sería la mejor manera. –
Puse un comentario en el blog al que me referí en mi pregunta y el autor amablemente proporcionó un ejemplo de una forma de hacerlo: http://rhnh.net/2010/08/17/updating-class-table-inheritance- tablas (¡Rock, Xavier!) –