Forum: Rails-ES Asociaciones

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.
unknown (Guest)
on 2007-01-25 11:47
(Received via mailing list)
Hola,
tengo un problema al que le estoy dando vueltas y más vueltas, con el que
cada vez me estoy liando más. No sé si debido a que soy nueva en Ruby ó
qué.Tengo una clase de tipo A, otra de tipo B y por último la clase C que como
clase tendría estos atributos:
id
A_id (identificador de A)
B_id[] (lista de identificadores de B)
tipo (Enum)
doc (un fichero)

Me estoy liando con la base de datos. No sé cómo modelar esto. Digamos que
es una asociación polimórfica???
Cómo hago la clase C???
Saludos y gracias
unknown (Guest)
on 2007-01-25 12:01
(Received via mailing list)
Me explico un poco más, porque leyendo el correo no lo veo claro.
Quiero decir:
Es tan simple como que C es tiene una relación uno a uno con A y uno a
mucho s con B???
O así no me valdría y tengo que hacer una relación polimórfica o through???
Xavier N. (Guest)
on 2007-01-25 12:17
(Received via mailing list)
On Jan 25, 2007, at 11:00 AM, removed_email_address@domain.invalid wrote:

> Me explico un poco más, porque leyendo el correo no lo veo claro.
> Quiero decir:
> Es tan simple como que C es tiene una relación uno a uno con A y uno a
> mucho s con B???
> O así no me valdría y tengo que hacer una relación polimórfica o
> through???

Parece que vas bien, por ejemplo podria resultar

   A has_one :c
   B belongs_to :c
   C belongs_to :a, has_many :bs

Tiene pinta de ser algo asi. Fijate que los IDs de las Bs no se meten
como array de C, sino que lo normal es que B tenga un c_id, y la
multiplicidad se exprese con has_many :bs en C.

-- fxn
unknown (Guest)
on 2007-01-25 12:45
(Received via mailing list)
Muchas gracias,
sobre todo por responder tan pronto.
A veces se complica uno sólo la existencia.
This topic is locked and can not be replied to.