Rails herencia de modelos

188 views
Skip to first unread message

Claudio Grillo

unread,
Jun 5, 2015, 9:40:51 AM6/5/15
to rub...@googlegroups.com
Buenas,

Tengo 2 tablas relacionadas y me gustaria poder generar un abm que las contenga.

ej:

Persona:
-id:integer
-nombre:string
-apellido:string

Hombre: < Persona
-edad:integer

Mujer: < Persona
-sobrenombre :string

Uso rails 4, existe una manera para generar el scaffold y que me genere un ABM de hombre y de mujer que contenga los campos de Persona?

Gracias


Gaston Ramos

unread,
Jun 5, 2015, 10:42:22 AM6/5/15
to rub...@googlegroups.com
El Fri, 05 de Jun de 2015, a las 06:17:24AM -0700, Claudio Grillo dijo:
> Buenas,
>
> Tengo 2 tablas relacionadas y me gustaria poder generar un abm que las
> contenga.
>
> ej:
>
> Persona:
> -id:integer
> -nombre:string
> -apellido:string
>
> Hombre: < Persona
> -edad:integer
>
> Mujer: < Persona
> -sobrenombre :string


Pregunto de curioso nomás, vale la pena tener 2 modelos demás
por un sólo atrinbuto? me parece mucho, yo dejaría únicamente
persona y le agrego un atributo que sea sexo y listo.

Saludos.

--
“Any fool can write code that a computer can understand. Good
programmers write code that humans can understand. ” - Martin Fowler


+-------------------------------------+
Gastón Ramos
http://gastonramos.com.ar/
GNU/Linux Counter user #450312

Joaquín Vicente

unread,
Jun 5, 2015, 10:53:14 AM6/5/15
to rub...@googlegroups.com
Creo que ese código era sólo un ejemplo.
Lo que vos estás buscando es Single Table Inheritance (STI). Te dejo dos links al respecto:


--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Emanuel Friedrich

unread,
Jun 5, 2015, 11:44:48 AM6/5/15
to rub...@googlegroups.com
No puedo probar ahora pero si generas las tablas con STI deberías lograr lo que buscas. Auqnue creo que depende de la versión de Rails que uses.

Otra, aunque el scaffold de rails por defecto te genere las vistas tomando en cuenta la herencia, sin importar el tipo de mapeo utilizado, el codigo que te genera no lo vas a poner en producción nunca.

Fijate gemas también

Tambien podes crear tus propios generators y jugar.

Saludos



Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Emanuel Friedrich - Casi licenciado en Sistemas... :)
Cel: 3754-495887

Haya paz

Claudio Grillo

unread,
Jun 5, 2015, 5:00:32 PM6/5/15
to rub...@googlegroups.com
Gracias por las respuestas, pero lei los links y sigo sin poder generar los abms.

Saludos

Emanuel Friedrich

unread,
Jun 5, 2015, 8:14:07 PM6/5/15
to rub...@googlegroups.com
decinos que haces para tratar.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Claudio Grillo

unread,
Jun 6, 2015, 11:02:58 AM6/6/15
to rub...@googlegroups.com
Buenas,

Creo los modelos, los heredo:

Ej.

Persona:
-id:integer
-nombre:string
-apellido:string

Hombre: < Persona
-edad:integer

Mujer: < Persona
-sobrenombre :string


Luego intento generar los controladores y vistas con el siguiente comando:

 rails generate scaffold_controlller Hombre

Pero los genera vacio, no toma el modelos.

Joaquín Vicente

unread,
Jun 6, 2015, 6:03:55 PM6/6/15
to rub...@googlegroups.com
Los scaffold son una ayuda si están a mano cuando vas a crear un nuevo resource.
Si ya tenés la idea en la cabeza y no te sale, no pierdas tiempo tratando de generar las vistas con eso y seguí para adelante.
Los scaffold son sólo generadores de códigos. Son útiles, pero no son fundamentales.

Reply all
Reply to author
Forward
0 new messages