我目前有一个车辆模型,它有一个定义所有者属性的自定义方法:
def owners
@owners = sales.map(&:customer) + quotes.map(&:customer)
@owners = @owners.uniq
end
此方法似乎工作得很好,并返回车辆的所有者数组。
但是,当我想使用owners
此方法在另一个模型中生成的时,我遇到了问题。当我在另一个模型上这样做时:
has_many :owners, :through => :vehicles
这会产生错误:
ActiveRecord::HasManyThroughSourceAssociationNotFoundError: Could not find the source association(s) :owner or :owners in model Vehicle.
我试过添加:source => :owners
,但我得到了同样的错误。
我应该指出我确实有:owners
attr_accessible。
那么,当所有者在自定义方法中定义而不是普通变量时,我可以做一个 :through 关联吗?