Esta es una posibilidad, el problema es que si no tengo el through no voy a poder acceder desde la empresa a todas las personas asignadas por ejemplo y ese tipo de accesos...
gracias por la respuesta salute1 El 13 de abril de 2010 17:49, Ernesto Tagwerker <[email protected]>escribió: > On Apr 13, 2010, at 3:15 PM, Pablo Marrero wrote: > > Buenas gente, tengo una duda de como modelar una relacion y seguro por aca > me la contestan al toque.. :) > > Tengo tres modelos, Persona, Cargo, Empresa y necesito representar que una > persona esta asignada en una empresa con un determinado cargo, entre > determinadas fechas. > En principio pensaba crear un modelo Asignacion, que haga el join > correpondiente, con lo cual tendria en asignacion los atributos: > personas_id > cargos_id > empresas_id > fecha_desde > fecha_hasta > > La duda que me surge es como ponerlo para que AR maneje esa relacion, se me > ocurrio hacer lo mismo que hago cuando tengo una tabla de relacion entre dos > modelos, utilizando el has_many through, pero no me queda claro si funciona > cuando tengo que relacionar tres modelos. > > alguna sugerencia de como expresar esto? > > > Yo haría así: > > class Person < ActiveRecord::Base > has_many :asignacions > end > > class Asignacion < ActiveRecord::Base > belongs_to :person > belongs_to :empresa > belongs_to :cargo > end > > class Empresa < ActiveRecord::Base > has_many :asignacions > end > > class Cargo < ActiveRecord::Base > has_many :asignacions > end > > Probaste haciendo así? > > No sé si es necesario usar el has_many :through > > Ernesto Tagwerker > (646) 374-8240 > http://etagwerker.com > > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > -- Pablo Marrero Tel: 099 927 566
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
