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
尝试对帐户处于活动状态的交易进行汇总。
Transaction.sum(:all, :conditions => "account.status = 'active'", :include => :account)
因此,经过一番阅读,我遇到了这个问题:原因是父模型的类型是列值,因此不能将其对应的表名放在该查询的 FROM/JOIN 子句中。表名是银行账户和信用卡,这是否意味着它们应该是单数?account_type 也是一个字符串,可以是 Bankaccount 或 Creditcard 以反映模型,但它应该是表名吗?