Lo + Leído
Eventos destacados
Artículos para tus primeros pasos
Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Grails
Como creo un objeto al mismo tiempo que creo otro ??
echizen - miércoles 07/04/2010mi problema es que tengo 2 objetos, relacionados uno con otro, es decir tengo una clase de dominio persona con 5 parametros, y una clase estudiante, que tiene 3 parametros, pero son 3 que pertenecen a persona... lo que intento hacer es que cuando creo una persona crear automaticamente un estudiante, sin ir a la vista crear de este... se entendio claramente mi duda ???
alguien que me ayude...
Re: Como creo un objeto al mismo tiempo que creo otro ??
yagarsi - jueves 08/04/2010Hola,
¿No te resultaría más interesante que Estudiante herede de Persona?. Al fin y al cabo, un estudiante es una persona. De esta forma, sólo tendrías que crear el objeto Estudiante, y guardaría los datos automáticamente en las tablas de personas y estudiantes.
Re: Como creo un objeto al mismo tiempo que creo otro ??
itubal - miércoles 14/04/2010Cuidado con eso de la herencia... Ver mi post más abajo.
La herencia está bien si de Persona heredan Estudiantes y Profesores y sólo manejas estudiantes y profesores.
Dá problemas si trabajas directamente con personas. Yo lo único que me ha funcionado es saber si existe una persona, pero no se sabe si esa persona es alumno o profesor. No doy de alta personas, solo alumnos o profesores y puedo buscar por personas.
Esto me ha llevado a poner un campo "tipo" en Personas y ahí meterle de nuevo si es alumno o profesor , en los "creates" de alumno y profesor le pongo un campo oculto con el tipo para que se guarde el tipo correcto. Así cuando busco una persona sé de que tipo es y si tengo que hacer algo más complicado posteriormente ya utilizo Alumnos o Profesores.
Esto me llevó un monton de tiempo con errores y pérdidas de tiempo. Seguro que no es lo más correcto, pero a mi me funciona y lo otro no. Ver más abajo post sobre esto.
Contacta conmigo en Twitter (itubal)
Un momento...
Re: Como creo un objeto al mismo tiempo que creo otro ??
Nacho - jueves 08/04/2010Hola,
tendrás que modificar la acción save de PersonaController para que una vez creado el objeto cree otro de tipo Estudiante, algo así:
def p = new Persona(params)
if(p.save()){
def e = new Estudiante(prop1:p.prop1,prop2:p.prop2, ...)
e.save()
}