Je suis sûr que cela a déjà été demandé un million de fois. Je ne cherche pas très bien. J'ai la configuration suivante: J'ai un instructeur qui a beaucoup d'événements. Chaque événement n'a qu'un seul instructeur (propriétaire/créateur). Je souhaite ajouter un lien séparé pour permettre à d'autres instructeurs d'être associés tout en conservant l'instructeur d'origine (propriétaire). J'ai une représentation ASCII brute mais je ne peux pas pour la vie de moi comprendre comment faire cela dans un modèle de rails.Lier deux tables ensemble en utilisant has_many AND has_one?
,-------------------.
| other_instructors |
|-------------------|
| event_id |-------------.
,---------------| instructor_id | |
| `-------------------' |
| ,---------------------. |
`->>| instructor |<--. |
|---------------------| | ,------------. |
| name | | | event |<-'
| email | | |------------|
| office | | | title |
| phone | | | location |
| admin? | | | benefit |
| notify_recipient? | | | notes |
| new_user? | | | start_time |
| (acts_as_authentic) | | | end_time |
`---------------------' | | live_in? |
`---| instructor |
`------------'
@instructor.events = [... array of events ...]
@associated_events = [... array of events associated but not owned via other_instructors table ...]
@event.instructor = ... One Instructor ...
@event.other_instructors = [... array of other instructors ...]
Soupir. Tu as raison. J'espérais éviter de restructurer ma base de données comme ça. Il est préférable de le faire maintenant avant qu'il ne soit mis en production. – Sukima