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のいずれかの文字列ですが、代わりにテーブル名にする必要がありますか?