我有带有嵌入式列表的产品。
因此,我想要一份按价格排序的清单。我正在使用 mongoid & Money gem。但是,我后来添加了新创建的列表(来自外部 api),所以通过 mongoid 排序没有意义。
清单包含:价格。Price 是 Money 类型,包含 :cents 和 :currency。
清单.rb:
scope :order_on_price, order_by("price.cents" => "desc")
这也不起作用:
scope :order_on_price, sort_by{ |price| price[:cents]}
products_controller.rb(加载外部 api 后):
@product.listings = @product.listings.order_on_price
我究竟做错了什么?谢谢..
更新:
添加了控制台输出:
1.9.3-p327 :005 > Product.last.listings
=> [#<Listing _id: 514374bc98d12b3a3f00a164, created_at: 2013-03-15 19:21:32 UTC, updated_at: 2013-03-15 19:21:32 UTC, price: {"cents"=>3755, "currency_iso"=>"EUR"}, availability: true, scan_id: "513f4cdf3e15fce2eaec43b6">]