Я знаю, что Rails не поддерживает вложенные has_many: через отношения, хотя уже были разговоры и открытая заявка на патч с 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
Итак, все, что есть, было бы здорово получить заказы, добавив это к модели Автора:
has_many :orders, :through => :products
Но, увы, вы не можете - по крайней мере, без плагина. Итак, мой вопрос: каков наилучший подход к доступу ко всем авторским заказам, когда единственная связь между моделью соединения, Контрактами?