class Transaction < ActiveRecord::Base
belongs_to :account, :polymorphic => true
end
class Bankaccount < ActiveRecord::Base
has_many :transactions, :as => :account
end
class Creditcard < ActiveRecord::Base
has_many :transactions, :as => :account
end
试图对帐户处于活动状态的交易进行求和。ActiveRecord :: EagerLoadPolymorphicError:无法加载多态关联
Transaction.sum(:all, :conditions => "account.status = 'active'", :include => :account)
所以一些阅读后,我遇到了这个: 的原因是父模型的类型是列值,因此其对应的表名不能被放在FROM /加入该查询的WHERE子句。 表名是bankaccounts和creditcards,这是否意味着它们应该是单数? 此外,account_type是一个字符串Bankaccount或Creditcard来反映模型,但它应该是表名吗?
谢谢你回答我的问题,是的,最终走了同样的路线。再次感谢潘:D – bordicon 2010-08-23 06:11:06
Spot on。另请参阅加入多态模型的答案:http://stackoverflow.com/a/22995162/293280 – 2014-04-10 17:50:03