A has_one :through
association sets up a one-to-one
connection with another model. This association indicates that the declaring model can be matched with one instance of another model by proceeding through a third model.
For example, if each supplier
has one account
, and each account is associated with one account history, then the supplier model could look like this:
class Supplier < ApplicationRecord
has_one :account
has_one :account_history, through: :account
end
class Account < ApplicationRecord
belongs_to :supplier
has_one :account_history
end
class AccountHistory < ApplicationRecord
belongs_to :account
end