Hola.
aunque lo que comento en este post lo he implementado de varias
formas, me gustaría conocer vuestra opinión para saber que forma os
parece mas DRY.
En una relación muchos a muchos. (persona con teléfonos por ejemplo),
esta claro que tiene que haber 3 modelos, pero cuantos apartados
(vista-controlador) os parece que tiene que haber???
O bien 3 (vista-controlador)
- uno para insertar teléfonos
- otro para insertar personas
- otro para seleccionar personas y teléfonos y unirlos en la tabla
resultante de la
relación
O bien 2 (vista-controlador)
- uno para insertar teléfonos y que se puedan seleccionar personas
desde la vista
- otro para personas y que se puedan seleccionar teléfonos desde la
vista
No se si me habré explicado bien, las dos formas funcionan pero no se
por cual decidirme, que os parece??? de cara a un usuario con cual de
las opciones creéis que se las arreglaría mejor, que recomendáis?
Gracias por las opiniones y sugerencias.
Un saludo
Hola,
Siento no responder a tu pregunta y encima hacer otra,
alarkspur
escribió:> Hola.
aunque lo que comento en este post lo he implementado de varias
formas, me gustaría conocer vuestra opinión para saber que forma os
parece mas DRY.
En una relación muchos a muchos. (persona con teléfonos por ejemplo),
esta claro que tiene que haber 3 modelos, pero cuantos apartados
(vista-controlador) os parece que tiene que haber???
¿3 modelos?
Tienes 3 tablas
personas
telefonos
personas_telefonos
y 2 modelos
class Persona < ActiveRecord::Base
has_and_belongs_to_many :telefono, :join_table =>
“personas_telefonos”, :foreign_key => “telefono_id”
end
class Telefono < ActiveRecord::Base
has_and_belongs_to_many :persona, :join_table =>
“personas_telefonos”, :foreign_key => “persona_id”
end
O soy yo quien esta pescando?
NOTA: todo esto es de oidas, todavia no he podido meter mucha mano a
Rails, pero la idea que tenia era esa.
¿3 modelos?
Tienes 3 tablas
personas
telefonos
personas_telefonos
Si, así es, lo tengo con tres tablas, por eso tengo 3 modelos, aunque
en el modelo personas_telefonos no tengo nada y en los otros dos
modelos lo tengo de la siguiente manera
class Persona < ActiveRecord::Base
has_and_belongs_to_many :telefonos
end
class Telefono < ActiveRecord::Base
has_and_belongs_to_many :personas
end
lo que me tiene en duda es a la hora de introducir datos (de cara a
realizarlo de la forma mas simple para el usuario)
permitir al usuario relacionar los telefonos a la hora de introducir
una persona
ó
permitir al usuario relacionar las personas a la hora de introducir
un telefono
ó
introducir telefonos y personas de forma independiente y luego desde
otro controlador-vista que los relacione
vaya lio. no se por cual decidirme.
2007/3/9, alarkspur [email protected]:
Yo diria que lo mas logico es que, a la hora de crear una persona,
puedas introducir varios telefonos.
Para hacer eso necesitaras un form con varios modelos, de hecho es
un form con 2 modelos, uno de los cuales es una lista (una lista de
telefonos). Hacer eso no es facil precisamente, busca por aqui:
http://railsforum.com/viewforum.php?id=20