Я создаю базу данных учебников. Book
будет выглядеть примерно так:Лучший способ структурирования has_many через несколько моделей?
Книга
- ID
- название
- ISBN
- авторы
- предметы
- классы
- университеты
- профессора
Хотя книга будет (очевидно) только один заголовок или ISBN - Я хотел бы автор, субъект, университеты и профессор быть типом «метка». Книга может быть написана несколькими авторами, которую можно использовать для нескольких предметов в нескольких классах, которые преподаются несколькими профессорами. Поэтому я хотел бы настроить отношения «многие ко многим» для каждого из них. например Author
может выглядеть примерно так:
Автор
- идентификатор
- имя
- книги
Это не обязательно иметь смысл для меня книги принадлежат автору , или наоборот наоборот (хотя я мог ошибаться.) Но я также не знаю, что создание таблицы book_author_associations
, book_jubjects_associations
, модель book_classes_associations
и т. Д.
Каков наилучший способ создания нескольких многообразных манифонов, подобных этому?
Если вы не хотите создавать модели объединений, вы можете использовать ассоциации типа 'has_and_belongs_to_many'. Они берут таблицу соединений только в вашей базе данных, но не имеют дополнительной модели ActiveRecord. Дополнительная информация: http://guides.rubyonrails.org/association_basics.html – depa
Полиморфные ассоциации? Модель, подобная BookAssociations, которая ссылается на book_id, associated_object_id и associated_object_type? – MrYoshiji