Я сопоставляю 2 модели:
User
Account
class Account
has_many :users
class User
has_one :account
Таблица пользователя в качестве учетной записи в ней.
Теперь в модели Account я хочу создать "основного пользователя", у которого только 1 учетная запись. Таблица пользователя имеет логический флаг: is_primary, как я могу создать has_one на стороне учетной записи для пользователя, у которого есть is_primary и account_id.
Итак, SQL выглядел бы так:
SELECT * FROM users where account_id=123 and is_primary = 1
Итак, я хочу:
У пользователя есть учетная запись. У учетной записи много пользователей, а также один первичный пользователь.