虽然在一个应用程序我得到这个工作的错误:不能转换成枚举器阵列
can't convert Enumerator into Array
这里是我的代码,mr_collection
是MongoID查询。
mr_collection = self.where(query).map_reduce(map, reduce).finalize(finalize).out({:replace => 'mr_results'})
paginator = WillPaginate::Collection.new(page, limit, collection_count)
collection = mr_collection.find(
:sort => sort,
:limit => limit,
:skip => skip
)
paginator.replace(collection)
尽管取得mr_collection
,如果我检查结果mr_collection
给我:
[
{"_id"=>1.0, "value"=>{"s"=>4.2, "p"=>14.95, "pml"=>0.01993}},
{"_id"=>2.0, "value"=>{"s"=>3.7, "p"=>12.9, "pml"=>0.0172}},
{"_id"=>3.0, "value"=>{"s"=>4.2, "p"=>12.9, "pml"=>0.0172}},
{"_id"=>4.0, "value"=>{"s"=>4.0, "p"=>11.95, "pml"=>0.01593}},
{"_id"=>300.0, "value"=>{"s"=>0.0, "p"=>8.95, "pml"=>0.01193}},
]
尽管取得collection
,如果我检查结果collection
给我:
#<Enumerator: []:find({:sort=>[["value.s", :desc], ["value.pml", :asc]], :limit=>10, :skip=>0})>
我得到线路上的错误paginator.replace(collection)
。我正在使用Ruby 1.9.3 & Rails 3.2.6。
刚刚更新了问题 – 2012-08-09 05:04:45