我有一个多态关联像这样 -查询多态关联
class Image < ActiveRecord::Base
has_one :approval, :as => :approvable
end
class Page < ActiveRecord::Base
has_one :approval, :as => :approvable
end
class Site < ActiveRecord::Base
has_one :approval, :as => :approvable
end
class Approval < ActiveRecord::Base
belongs_to :approvable, :polymorphic => true
end
我需要找到approval.apporvable.deleted = false
我已经试过这样的事情的批准 -
@approvals = Approval.find(:all,
:include => [:approvable],
:conditions => [":approvable.deleted = ?", false ])
这使得“不能急于加载多态关联:可认可的“错误
如何正确地给出条件,以便获得可批准项目未被删除的批准结果集?
感谢所有帮助提前
代替N + 1,这可能是与4个散装查询,一个用于每个关联类加在所有关联的初始准备扫描来完成。准备数据结构可以是将每个关联类映射到[source_id,association_id]的哈希。 – mahemoff 2015-04-21 09:01:07