У меня есть ИППП Person
, у меня есть 3 типа: Contact
, User
и Tenant
. Contact
и Tenant
принадлежит к одной организации, поэтому у них есть столбец organization_id
прямо в таблице «people».STI рельсы has_many на один тип
Проблема в том, что тип User
может иметь несколько организаций, поэтому он имеет выделенную таблицу с именем «users_privileges». В настоящее время organization_id
в таблице «люди» null
для типа User
, так как у многих пользователей есть две организации.
Есть ли вообще сказать ActiveRecord, когда я скажу Person.all
, что для типа User
, он не должен проверить столбец organization_id в таблице «людей» и искать has_many в таблице «users_privileges»?
Является ли это полиморфной ассоциацией (например, own_to: person, polymorphic: true) или однонаправленным наложением? – hmind
Вы правы, это STI. Я делал полиморфные вещи, когда писал, редактировал! – allaire