繁体   English   中英

订购哈希/数组

[英]Order a hash/array

我想根据售出的单位(:数量)订购产品清单(:产品):

<% 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 %>

这会产生一个错误:

#Hash:....的未定义方法`order'

排序方法不应该只考虑字段数量而不是整个哈希值吗?

解:

<% Sale.where(brand: current_user.brand).group(:product).by_day.sum(:quantity).sort_by{|product,quantity|  -quantity}.each do |product,quantity| %>

提前谢谢了!

嘿,您可以使用Ruby sort_by因为-使用desc命令使用sign:

Sale.where(brand: current_user.brand).group(:product).by_day.sum(:quantity).sort_by{|product,quantity|  -quantity}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM