【发布时间】:2010-01-17 03:32:22
【问题描述】:
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 以反映模型,但它应该是表名吗?
【问题讨论】:
标签: ruby-on-rails activerecord polymorphic-associations