Rails がネストされた has_many :through リレーションシップをサポートしていないことは知っていますが、Rails 2 の頃からパッチに関する話やオープン チケットがありました。
かなり洗練されたプラグインに出会いましたが、マスター ブランチは Rails 3 で動作せず、アプリのミッション クリティカルなタスクに使用することをためらっています。そのため、最近の開発は活発ではありません。では、これらの関係に対処する最善の方法は何ですか?
class Author < ActiveRecord::Base
has_many :contracts
has_many :products, :through => :contracts
class Product < ActiveRecord::Base
has_many :contracts
has_many :orders
has_many :authors, :through => :contracts
class Contracts < ActiveRecord::Base
belongs_to :author
belongs_to :product
したがって、これを Author モデルに追加することで、これを注文できるようになるのは素晴らしいことです。
has_many :orders, :through => :products
しかし残念なことに、少なくともプラグインなしではできません。それで、私の質問は、唯一の関連付けが結合モデル、契約の間である場合、作成者のすべての注文にアクセスするための最良の方法は何ですか?