Forum: Rails-ES controladores en una relacion muchos a muchos

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
94ac01209314464490a94b47f051be0b?d=identicon&s=25 alarkspur (Guest)
on 2007-03-09 16:55
(Received via mailing list)
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
Bc309914890c202136d6964cb3033ceb?d=identicon&s=25 cartuchogl (Guest)
on 2007-03-09 17:47
(Received via mailing list)
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.
94ac01209314464490a94b47f051be0b?d=identicon&s=25 alarkspur (Guest)
on 2007-03-09 19:10
(Received via mailing list)
>>
> ¿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.
2849c70454818746006e84ea9508bc51?d=identicon&s=25 Dani Pardo (dani)
on 2007-03-12 12:35
(Received via mailing list)
2007/3/9, alarkspur <alarkspur@gmail.com>:

>
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
This topic is locked and can not be replied to.