Это то, что я понял. Пожалуйста, исправьте меня, если я не прав.
У собаки есть только один владелец (без совладельцев)
Согласно приведенным выше утверждениям, вы можете реализовать следующие ассоциации:
- Владелец: has_many: назначения
- Владелец: has_many: собаки
- Собака: is_to: владелец
- Собака: has_many: назначения
- Назначение: own_to: owner
- Apointment: assign_to_dog
Поскольку у собак не будет нескольких владельцев, has_many через связь не требуется. Используя приведенные выше ассоциации, вы можете получить список назначений как для владельца, так и для собаки.
Надеюсь, это поможет.