Buen dÃa, primero que nada me presento, soy Omar J. Becerra
Ingeniero
en Sistemas de la UAG (Universidad autonoma de guadalajara)
pues la duda es esto supongamos que tenemos en el modelo las entidades (
Seguro, Beneficiarios)
Seguro tiene los datos del asegurado y algunos otros campos
Beneficiario son los que en caso de que aplique el seguro los beneficios
seran para ellos (trae los datos del beneficiario, asi como porcentaje
correspondiente al seguro)
se supone que por ahora un asegurado puede poner de 1 a 5 beneficiarios
(quizas esto cambie en un futuro no lo se)
entonces lo que yo me imaginaba era lo siguiente:
tabla seguro
tabla beneficiarios ( y aqui poner el seguro_id para ligar las dos
tablas)
seguro has_many :beneficiarios
beneficiario belongs_to :seguro
y esto funciona bien, pero teniendo en cuenta que se pueden comprar de 1
a 5
seguros
si compra 5 estaran 5 registros en la tabla seguros, y si puso 5
beneficiarios por seguro estaran 5 x 5 = 25 registros en la tabla
beneficiarios
de los cuales podrian ser algunas personas las mismas pero el porcentaje
y
parentesco con el asegurado podria cambiar, esto para no tener
informacion
“repetida”
y quizas ahorrarnos espacio y registros en la base de datos, entonces
por
ahi alguien me sugirio esto
tabla seguro
tabla beneficiario (solo datos de la persona como nombre, apellido)
tabla seguro_beneficiario ( parentezco del beneficiario, porcentaje del
beneficiario, id seguro, id beneficiario)
pero poniendo esos 2 campos en la tabla seguro_beneficiario para
accederlo
desde el modelo ??
en el modelo quedaria
seguro has_many :beneficiarios
beneficiarios has_and_belongs_to_many :seguros
pero al poner por ejemplo seguro = Seguro.find( x condicion)
para acceder a los datos del asegurado pues seguro.nombre
para acceder a los datos del beneficiario pues seria seguro.beneficiario
[].nombre
para acceder a los datos parentezco y porcentaje que estarian ligados al
beneficiario en si como accedo a ellos?
pues no se si sugieren otra solucion, o como ven, y si en caso que fuera
esta como accedo a esos campos
bueno creo que es todo, muchas gracias por su atencion