我想根据销售的单位(:数量)订购产品清单(:产品):
<% Sale.where(brand: current_user.brand).group(:product).by_day.sum(:quantity).order(:quantity => :desc).limit(10).each do |p, c| %>
<tr>
<td><strong><%= p %></strong></td>
<td><%= c %></td>
</tr>
<% end %>
这会产生错误:
未定义的方法`order&#39; #Hash:....
订单方法是不是只考虑字段数量而不是整个哈希?
解决方案:
<% Sale.where(brand: current_user.brand).group(:product).by_day.sum(:quantity).sort_by{|product,quantity| -quantity}.each do |product,quantity| %>
非常感谢提前!
答案 0 :(得分:1)
嘿,您可以使用Ruby sort_by
,-
符号用于desc
的订单:
Sale.where(brand: current_user.brand).group(:product).by_day.sum(:quantity).sort_by{|product,quantity| -quantity}