Возьмем, к примеру, эту ситуацию.
У вас есть 3 модели:
- Поэт - представляет автора стихотворения.
- Поэма - Представляет собой стихотворение, написанное поэтом.
- Printing — представляет собой печатное издание любого рода, содержащее стихотворение поэта.
С самого начала поэт и стихотворение очевидны:
- Поэт
has_many
стихи - Стихотворение
belongs_to
поэта
Меня смущает работа с моделью Printing.
В этом случае Печать в некотором смысле принадлежит и поэту, и стихотворению. Вы могли бы сказать, что у поэта есть_много изданий или у стихотворения есть_много изданий, что имеет смысл, но идти обратным путем сложно...
Как насчет ситуации, когда в каком-то журнале или книге напечатано 5 стихотворений одного поэта? ИЛИ одно из стихотворений опубликовано в 10 разных журналах?
Создается впечатление, что сама Печать «принадлежит многим» стихам или поэтам. Я знаю, что это неправильно, но я просто пытаюсь сформулировать мысль.
Итак, ответ на вопрос таков: как бы вы установили эти отношения? В частности, как будут выглядеть модель и таблица базы данных И как вы будете использовать их для доступа к связанным данным?
Спасибо!