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 个模型的第 n 个模型连接起来,以便于访问。除了快捷方式之外,我还缺少其他什么吗?