Se puede has_many polimórfico?

Hola amigos:

Estoy ampliando una aplicación en rails. No tiene relevancia el caso
particular con que me encuentro, además de que sería muy largo de
explicar.

La cuestión es que veo que no se permite en rails 1.1 la relación
polimórfica de tipo N:N. Es decir, que el objeto A esté relacionado con
N
objetos del modelo Xable y que estos a su vez, puedan tener vários
objetos
A relacionados.

En efecto, veo en la documentación que el método has_many no acepta el
parámetro :polymorphic => true, en cambio el belongs_to sí.

Lo que me preocupa es que no veo porqué no se permite este tipo de
asociación. Tan sólo hace falta añadir una join table entre la clase que
contiene el x_id y x_type y la clase del modelo que define la relación
polimófica (en este caso A) ¿no?

Creo que me pierdo algún detalle que lo hace imposible de implementar.

Saludos.

Creo que lo que tu quieres es una relación:
has_and_belongs_to_many

y si además necesitas que la tabla intermedia guarde valores diferentes
a las dos FK, puedes hacer dos has_many :through tablaIntermedia. Sería
poner una relación como ésta en cada uno de tus modelos, crearte el
modelo para la tabla nueva y listos.

como consejo, no uses una has_and_belongs_to_many a no ser que tu tabla
tenga exclusivamente los dos campos de FK, o cuando navegues por las
relaciones ActiveRecord te devolverá objetos que no se corresponden
realmente con lo que esperarías

saludos,

javier ramírez

Hola,
Creo que lo que tu quieres es una
relación:has_and_belongs_to_many
pero lo que no sé es si eso existe en la versión 1.1 de rails,
Saludos

On 22/01/07, javier ramirez [email protected] wrote:

Creo que lo que tu quieres es una relación:
has_and_belongs_to_many

y si además necesitas que la tabla intermedia guarde valores diferentes
a las dos FK, puedes hacer dos has_many :through tablaIntermedia. Sería
poner una relación como ésta en cada uno de tus modelos, crearte el
modelo para la tabla nueva

y añadir a este modelo belongs_to a cada uno de sus
papás

y listos.


Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
simplelogica.net

Ok, ya me he dado cuenta.
Soy nueva en esto y todavía me estoy enterando todo lo que hay.
Quizá fui demasiado intrépida contestando.
Muchas gracias, porque justo es lo que estaba buscando.

On Mon, Jan 22, 2007 at 12:41:39PM +0100, amnava send:

Hola,
Creo que lo que tu quieres es una relación:
has_and_belongs_to_many
pero lo que no sé es si eso existe en la versión 1.1 de rails,

No. has_many o has_and_belongs_to_many no tiene nada de polimorfía.

http://wiki.rubyonrails.org/rails/pages/PolymorphicAssociations