我現在有用於車輛的模型,該模型具有規定的所有者屬性自定義方法:Rails has_many:通過自定義屬性?
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
,但我得到了同樣的錯誤。
我應該指出我在attr_accessible中有:owners
。
那麼,我可以做一個:通過關聯當所有者在自定義方法中定義,而不是一個正常的變量?