У меня есть учетные записи и учетные записи. У учетной записи может быть много AccountAddressess, и я хотел бы указать ее как "default_account_address", поэтому в таблице Account у меня есть столбец с именем "default_account_address_id". Вот текущее состояние моделей.
class Account < ActiveRecord::Base
has_many :account_addresses
belongs_to :default_account_address,
:class_name => "AccountAddress",
:inverse_of => :account_assigned_to_as_default
end
class AccountAddress < ActiveRecord::Base
belongs_to :accounts
has_one :account_assigned_to_as_default,
:class_name => "Account",
:foreign_key => :default_account_address_id,
:inverse_of => :default_account_address
end
Это прекрасно работает, за исключением того факта, что @ account.default_account_address возвращает адрес учетной записи, а @ account.account_addresses возвращает пустой массив.
Итак, проблема в том, что адрес учетной записи по умолчанию не включен в @ account.account_addresses.
Есть идеи, как лучше всего подойти к этому вопросу? Я рассмотрел habtm, но это не кажется уместным. Я рассмотрел использование has_one: default_account_address, но это не имеет смысла, поскольку столбец default_account_address_id находится в таблице учетных записей. Спасибо.