有一個通過聯想
has_one :through
關聯與另一個模型建立 one-to-one
連線。該關聯表明通過繼續第三模型,可以將宣告模型與另一模型的一個例項匹配。
例如,如果每個 supplier
都有一個 account
,並且每個帳戶都與一個帳戶歷史記錄相關聯,那麼供應商模型可能如下所示:
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