最佳答案
Rails 有一个 has_one :through
关联,通过遍历第二个模型来帮助建立与第三个模型的一对一关联。除了建立一个快捷联想之外,它的真正用途是什么呢? 否则,那将是一个额外的步骤。
以 Rails 向导为例:
class Supplier < ActiveRecord::Base
has_one :account
has_one :account_history, :through => :account
end
class Account < ActiveRecord::Base
belongs_to :supplier
has_one :account_history
end
class AccountHistory < ActiveRecord::Base
belongs_to :account
end
可能会让我们这样做:
supplier.account_history
否则将达成如下:
supplier.account.history
如果只是为了更简单的访问,那么从技术上讲,可能存在一个一对一的关联,该关联将模型与通过 n-1模型更容易访问的某个 nth 模型连接起来。除了这条捷径之外,还有什么我不知道的吗?