Añadir varios registros a la vez


#1

Buenas,

Tengo una relación muchos a muchos entre una tabla localidades y una
tabla usuarios. ¿Cómo puedo añadir desde la consola varias localidades
a un usuario determinado?

Gracias por todo.

Luis Miguel Cabezas Granado
Consejería de los Jóvenes y del Deporte
Junta de Extremadura
924 273 317
608 932 634
www.magolope.com
www.luisyfernanda.net


#2

A bote pronto,…una burrada que te puede funcionar (por probar)

localidades = [‘barcelona’,‘montcad i Reixac’, ‘Campillo’,
‘Torregalindo’]

usarioJuan = Usuario.new
localidades.each {|local| usuarioJuan.localidad = Localidad.new(local) }

Creo que esto puede funcionar.
Un saludo

Esto supone que no tienes las localidades creadas de antemano

El 12 de enero de 2009 23:03, Luis Miguel G. <
removed_email_address@domain.invalid> escribió:


#3

2009/1/12 Luis Miguel G. removed_email_address@domain.invalid:

Tengo una relación muchos a muchos entre una tabla localidades y una
tabla usuarios. ¿Cómo puedo añadir desde la consola varias localidades
a un usuario determinado?

Del mismo modo que lo harias en la app. Sabes manejar ese tipo de
relaciones?


#4

Hombre, si no sabes manejar dichas relaciones deberías primero buscar
algo
de información. Aquí te pueden decir como hacerlo, pero si no lo vas a
entender lo único que harás es copiarlo.

Te animo a buscar información, no es muy complejo.

Saludos.

El 13 de enero de 2009 7:10, Luis Miguel G. <
removed_email_address@domain.invalid> escribió:


#5

:smiley:

No se manejar estas relaciones en Rails (Soy programador de PHP y
JAVA). Por eso mi pregunta. Necesito recoger los datos de un
formulario y necesito saber la forma de dar de alta varias localidades
seleccionadas en un combo. Creí que la forma más sencilla era
preguntar por la forma en la que se hace en consola para trasladarlo
después a un controlador.

Gracias.

El 13/01/2009, a las 6:23, Xavier N.
escribió:

2009/1/12 Luis Miguel G. removed_email_address@domain.invalid:


#6

He buscado en muchos sitios y tengo varios libros, pero parece ser que
de la relación muchos a muchos no habla nadie, o cuando hablan es para
hacer lo típico de sacar los registros asociados de una fila, etc.

Si alguien es tan amable de darme un enlace o recomendarme un libro
que pueda comprar donde venga explicado el tratamiento de datos con
este tipo de asociación se lo agradecería mucho.

Un saludo y gracias.

El 13/01/2009, a las 8:33, Valentin P. escribió:

:smiley:

Del mismo modo que lo harias en la app. Sabes manejar ese tipo de


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es

Luis Miguel Cabezas Granado
Consejería de los Jóvenes y del Deporte
Junta de Extremadura
924 273 317
608 932 634
www.magolope.com
www.luisyfernanda.net


#7

Hola,

Si alguien es tan amable de darme un enlace o recomendarme un libro
que pueda comprar donde venga explicado el tratamiento de datos con
este tipo de asociación se lo agradecería mucho.

todo lo que quieras saber sobre asociaciones en rails (en formato un
poco crudo, pero bueno) lo tienes en
http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html

como cosa rápida para tu problema. Dado un usuario en la variable
“usuario” y suponiendo que tienes definida una relación que se llama
“localidades” puedes hacer

usuario.localidades << tu_localidad

también puedes usar los métodos

usuario.localidades.build(atributos de tu localidad)
usuario.localidades.create(atributos de tu localidad)

suerte,


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


#8

Hola,

Quizá esto te valga!
http://railsforum.com/viewtopic.php?id=1063

Un saludo!

Luis Miguel G. escribió:


#9

Mira este screencast a ver si te vale:

http://railscasts.com/episodes/47-two-many-to-many

El 13 de enero de 2009 11:54, Andrés gutiérrez
removed_email_address@domain.invalidescribió:


#10

Hola, igual te puede valer esto [1] En tu caso, las localidades son los
[groups] y tus usuarios son los [users]

[1] http://wiki.rubyonrails.org/rails/pages/CheckboxHABTM

Nota:
Intenta poner los nombres de tus modelos-tablas en inglés, todo el mundo
dice que la vida es más fácil así
El 13 de enero de 2009 11:42, Juan JosŽé Vidal Agust’ín
removed_email_address@domain.invalidescribió:


#11

Luis Miguel G. wrote:

Buenas,

Tengo una relaci�n muchos a muchos entre una tabla localidades y una
tabla usuarios. �C�mo puedo a�adir desde la consola varias localidades
a un usuario determinado?

no tengo idea de como hacer lo que quieres, peri si tengo idea de BD
relacionales, y tu base de datos esta ma modelada, no deverias tener
relaciones muchos a muchos, creo que por eso no has encontrado nada,
primero arregla el problema de modelado de tu BD


#12

Gracias a todos por las respuestas,

Ya he conseguido averiguar porqué me fallaba el código. La tabla de
unión tenía un id autonumérico y rails fallaba al insertar los datos.

Gracias.

El 13/01/2009, a las 11:58, Valentin P. escribió:


#13

Cuando hablo de muchos a muchos en Rails se entiende que hay 3 tablas
por medio, dos de entidades y una de asociación entre las dos, es
decir que habría 2 relaciones uno a muchos entre las 3 tablas.

Saludos.

El 13/01/2009, a las 13:27, Christian R. escribió: