Ruby on rails 如何在ActiveRecord中为多态模型按父级属性排序?

Ruby on rails 如何在ActiveRecord中为多态模型按父级属性排序?,ruby-on-rails,activerecord,polymorphism,scope-chain,Ruby On Rails,Activerecord,Polymorphism,Scope Chain,我想我的措辞是正确的 我有一个叫做资产的模型,它是多态的: class Asset < ActiveRecord::Base belongs_to :assetable, :polymorphic => true ... end 我正在尝试获取一个资产列表,该资产的父级的approved_at属性不为空,并按approved_at属性降序排列,限制为50。我承认,我不确定我所做的有多接近于正确,但我现在得到的错误是: "Can not eagerly load the poly

我想我的措辞是正确的

我有一个叫做资产的模型,它是多态的:

class Asset < ActiveRecord::Base
  belongs_to :assetable, :polymorphic => true
...
end
我正在尝试获取一个资产列表,该资产的父级的approved_at属性不为空,并按approved_at属性降序排列,限制为50。我承认,我不确定我所做的有多接近于正确,但我现在得到的错误是:

"Can not eagerly load the polymorphic association :assetable"

正确的方法是以不同的方式思考:

# If assetable model is called Folder
def self.some_scope
   folders = Folder.where('approved_at IS NOT NULL').order('approved_at DESC').limit(50)
   folders.collect{|p| p.assets}
end
# If assetable model is called Folder
def self.some_scope
   folders = Folder.where('approved_at IS NOT NULL').order('approved_at DESC').limit(50)
   folders.collect{|p| p.assets}
end