Como insertar valor en una relacion has_and_belongs_to_many

Hola a todos,

De nuevo me encuentro con un problema para la relacion
has_and_belongs_to_many. El caso es el siguiente:

Tengo dos modelos llamados: Especificacion y Proveedor, donde una
especificacion puede ser cumplida por N cantidad de proveedores y
viceversa. Las relaciones las tengo bien y cree el modelo
Especificacions_Proveedors.

El problema que tengo es que hay dos atributos que necesito insertar en
la relacion y no se como hacerlo, por lo siguiente:

En mi vista yo genera la especificacion correspondiente y tengo una
lista de los proveedores que quiero seleccionar para esa especificacion
a traves de varios checkbox, por lo tanto por cada proveedor
seleccionado tengo que pasar los dos valores y no encuentro la manera de
recorrer los tres valores(id proveedor, y los dos atributos) o juntarlos
en uno solo para poderlos correr en un For desde el controlador y crear
la relacion.

Si alguien sabe de esto, seria de gran ayuda

Saludos,
Maximiliano M.

2008/6/10 Maximiliano M. [email protected]:

Hola a todos,
Hola
la relacion y no se como hacerlo, por lo siguiente:
Creo que lo que necesitas es, en lugar de has_and_belongs_to_many, un
has_many :through => ‘algo’

Busca en la ayuda de rails has_many y mira las opciones para :through

Revisando lo que em comentas no em sirviria porque me genera en la tabla
relacion un ID el cual no quiero. La idea es que las dos clave primarias
sean los id de especificaciones y proveedores y que los dos atributos
sean de la relacion.

El problema no es de modelo logico, el problema es como tomar lo tres
valores desde una vista que tengo donde el checkbox me da el id del
proveedor, el id de la especificacion lo obtengo de un session y los
otros dos atributos de un textfield. Lo que quiero es que al oprimir el
boton pase los tres valores y yo poder genera un for y completar la
relacion.

Maximiliano M. wrote:

Hola a todos,

De nuevo me encuentro con un problema para la relacion
has_and_belongs_to_many. El caso es el siguiente:

Tengo dos modelos llamados: Especificacion y Proveedor, donde una
especificacion puede ser cumplida por N cantidad de proveedores y
viceversa. Las relaciones las tengo bien y cree el modelo
Especificacions_Proveedors.

El problema que tengo es que hay dos atributos que necesito insertar en
la relacion y no se como hacerlo, por lo siguiente:

En mi vista yo genera la especificacion correspondiente y tengo una
lista de los proveedores que quiero seleccionar para esa especificacion
a traves de varios checkbox, por lo tanto por cada proveedor
seleccionado tengo que pasar los dos valores y no encuentro la manera de
recorrer los tres valores(id proveedor, y los dos atributos) o juntarlos
en uno solo para poderlos correr en un For desde el controlador y crear
la relacion.

Si alguien sabe de esto, seria de gran ayuda

Saludos,
Maximiliano M.

La tabla de unión sólo podra contener dos campos, correspondientes al
id de cada objeto de las clases participantes. Esto puede resultar una
limitación si queremos registrar información particular de cada
instancia torneo-equipo, cosa que no esta soportada por HABTM.
La solucion pasa por usar ThroughAssociations.

Lueiro Lueiro wrote:

upss…links:
http://leanucci.com.ar/2008/01/habtm-de-la-teora-la-prctica.html
http://wiki.rubyonrails.org/rails/pages/has_and_belongs_to_many

2008/6/10 Maximiliano M. [email protected]:

relacion.

No tienes que completar la relación a mano, simplemente añades un
objeto a la colección de objetos hijos del padre, con el método <<.
Está explicado aquí

En cualquier caso, también te recomiendo que consultes cualquier
documento introductorio a Rails, en el que seguramente se explique
como hacer esta clase de operaciones básicas.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.