У меня есть таблица активов, которая содержит все поля, общие для всех типов активов, например, name
, path
, filetype
, size
и т. Д.
Теперь у меня есть 2 типа активов: активы, принадлежащие architects
и активы, принадлежащие construtors
. Поэтому я установил отношения HABTM для этих двух типов, то есть
|-------- architects_assets ------- architects
assets|
|-------- constructors_assets ----- constructors
Проблема в том, что при создании актива я хочу, чтобы каждый актив был одним из или architects_asset
или constructors_asset
- активы никогда не являются одновременно архитекторами и конструктор актив.
Простым решением будет создание architect_assets
и constructors_assets
таблиц и удаление таблицы assets
, так как таким образом вы можете добавлять, редактировать, просматривать, удалять каждый тип отдельно. Кроме того, я думаю, что мог бы создать действия architects_asset_add
и constructors_asset_add
в контроллере assets
, но тогда мне пришлось бы сделать то же самое для редактирования, просмотра и удаления, которое кажется раздутым.
Как бы вы подошли к этой проблеме?