Herencia de tablas

Hola!

Soy nuevo en esto de rails y me aventure a hacer una aplicaci’on que me
dejaron en la escuela.

Mi problema es el siguiente:

Tengo en base de datos dos tablas ‘People’ y ‘Operator’ hay una
relaci’on de
uno a muchos respectivamente, de manera que en la tabla de operador
existe
una columna llamada ‘person_id’ (tambi’en tengo mas tablas que comparten
esa
relaci’on de ‘herencia’, como ‘Customers’, etc).

Por otro lado hice un scaffold de ‘Person’ y ‘Operator’, lo que necesito
es
hacer que Operator de alguna manera tenga los atributos de Person, para
que
en un rhtml, pueda hacer un formulario para registrar al Operator, pero
que
pueda ponerle reglas de validacion (como las ‘validates_presence_of’,
etc).

¿Como puedo hacer eso?

No tengo la posibilidad de que en una tabla junte todos los atributos de
Person, Operator y Customers, y asignar ‘nil’ a los atributos que no
apliquen
a determinado tipo de objeto.

Muchas Gracias.

Raza…
Saca al azteca que traes dentro, al maya, al lacandon,
al tzotzil, al huichol.
Saca la energia, el DNA y toda tu historia que llevas
dentro y cambia el curso del universo,
cambia el curso de este pais…
cambia tu vida.
Saul “Chato” Alfonso Hernadez Estrada
Concieto “Voces con Causa”

Hola Israel

En realidad lo tendrías que ver desde otro punto de vista; piensa en la
herencia de objetos… tu People y Operator, el primero heredando de
ActiveRercord y el segundo de People, ok?¿

Rails para resolver esto implementa el metodo de herencia en tabla
simple, es decir solo tendras una tabla People con los campos de todas
las que herenden y un campo type que indica a que objeto pertenece.

Es un poco engorroso y sería mejor una herencia de tabla multiple pero
weno… jejejej mirate el libro de Agil Web D. que viene
bastante bien, o el de Patters for Enterprise Arquitechtures de Martin
Fowler.

Saludos!