我知道 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
但是很可惜,你不能——至少没有插件。所以,我的问题是,当连接模型之间的唯一关联是合同时,访问所有作者订单的最佳方法是什么?