[英]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.