Railsにはhas_one :through
、2番目のモデルを通過することにより、3番目のモデルとの1対1の関連付けを設定するのに役立つ関連付けがあります。ショートカットの関連付けを作成する以外に、それを実際に使用する方法は何ですか。
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番目のモデルに接続してアクセスを容易にする1対1の関連付けが存在する可能性があります。ショートカット以外に欠けているものはありますか?