Project
has_many :tasks
Task
has_many :invoices, :through => :line_items
has_many :line_items
LineItems
belongs_to :invoice
belongs_to :task
Invoice
has_many :tasks, :through=> :line_item
has_many :line_items
我正在尝试从项目has_many获取关联:发票,:through => :任务
当我尝试时,我得到:
源反射宏无效:has_many:for for has_many:invoices,:through => :任务。使用:source指定源反射。
如果有可能,我有点不知所措,如果是这样,如何使用:来源正确
答案 0 :(得分:5)
Ryan是对的,这是Rails 3.1支持的。摘自发行说明:
与a:through选项的关联现在可以使用任何关联作为通关或源关联,包括具有:through选项和has_and_belongs_to_many关联的其他关联。
答案 1 :(得分:3)
你不能在Rails 3.0中这样做。在Rails 3.1中,我认为这是可能的。
相反,您必须使用nested_has_many_through插件:http://github.com/ianwhite/nested_has_many_through