relations between contact_person and contact_business

Hello all,

i am stuck with something.

i have the following situation:

[code=]contacts---|            >--|0-1|--contact_businesses            > (either one of booth; business or contact)            >--|0-1|--contact_people[/code] i have a contacts model that either extends to contact_business or contact_person, depending if its a person or a business. now i whant to describe relationships between people and businesses. i thought about something like this: [code=]contacts---|            >--|0-1|--contact_businesses            > (either one of booth; business or contact)            >--|0-1|--contact_people            >            >--|0-n|--contact_relations (contact_person_contact_id, contact_business_contact_id)[/code] so contact_relations would store the contact_id of the file that is create/edited depending if it is a business or a person in contact_business_contact_id or contact_person_contact_id and the contact_id of the relation (wich must be the other kind) in the other field. this would be the way i would do it by hand, if i would have programmed this in php. but in ror i dont really know or understand how this is t be accomplished.

maybe self joins is the solution (Active Record Associations — Ruby on Rails Guides). but somehow i dont understand how this works and what table collums i would need.

can somebody help me?

thanks a lot,