Ruby on rails 按折扣百分比订购产品

Ruby on rails 按折扣百分比订购产品,ruby-on-rails,ruby,postgresql,Ruby On Rails,Ruby,Postgresql,我有两个模型产品和价格历史 Productid,name有多个PricingHistory id,折扣百分比,product id 我需要加入具有最新价格历史的产品,并以%的折扣订购 我写道: Product.joins(:pricing_histories).group('products.id').order("max(pricing_histories.id) ASC").order('max(pricing_histories.percent_off) DESC') 但它并没有按顺序返

我有两个模型产品和价格历史

Productid,name有多个PricingHistory id,折扣百分比,product id

我需要加入具有最新价格历史的产品,并以%的折扣订购

我写道:

Product.joins(:pricing_histories).group('products.id').order("max(pricing_histories.id) ASC").order('max(pricing_histories.percent_off) DESC')
但它并没有按顺序返回数据

例如: 产品:

PricingHistory

PRODUCT_ID PERCENT_OFF   CREATED_ON
   1          10         10/10/2015
   1          20         10/11/2015
   2          30         10/12/2015
   2          40         10/13/2015
   3          50         10/14/2015
   3          60         10/14/2015
我希望结果是:

 ID    PRODUCT  PRODUCT_ID PERCENT_OFF CREATED_ON
 1       aa     1          20         10/11/2015
 2       bb     2          40         10/13/2015
 3       cc     3          60         10/14/2015

您可以通过以下方式实现这一点:


PricingHistory.joins:product.group'products.id'。订购'pricing\u history.percent\u off DESC'

所有产品都有一个唯一的id,因此按products.id分组没有任何用处。也许你指的是定价历史。产品id?@MaxWilliams我也试过了,但仍然没有得到预期的结果。
 ID    PRODUCT  PRODUCT_ID PERCENT_OFF CREATED_ON
 1       aa     1          20         10/11/2015
 2       bb     2          40         10/13/2015
 3       cc     3          60         10/14/2015