小编bor*_*con的帖子

ActiveRecord :: EagerLoadPolymorphicError:无法急切加载多态关联

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
Run Code Online (Sandbox Code Playgroud)

尝试对帐户处于活动状态的交易进行总结.

Transaction.sum(:all, :conditions => "account.status = 'active'", :include => :account)
Run Code Online (Sandbox Code Playgroud)

所以经过一些阅读后我发现了这个:原因是父模型的类型是一个列值,因此它的相应表名不能放在该查询的FROM/JOIN子句中.表名是bankaccounts和creditcards,这是否意味着它们应该是单数的?另外,account_type是一个字符串Bankaccount或Creditcard来反映模型,但它应该是tablename吗?

activerecord ruby-on-rails polymorphic-associations

11
推荐指数
1
解决办法
8826
查看次数