【发布时间】:2015-03-25 18:54:41
【问题描述】:
我有一组需要排序的项目。我需要按两个属性排序,但目前一种正在覆盖另一种。我需要一种混合排序,所以它在另一个排序中进行排序。有任何想法吗。这是我所拥有的:
@coasters = @coasters.sort_by { |c| c.coaster_sort }
@coasters = @coasters.sort_by { |c| c.park_name }
谢谢, 尼尔
【问题讨论】:
我有一组需要排序的项目。我需要按两个属性排序,但目前一种正在覆盖另一种。我需要一种混合排序,所以它在另一个排序中进行排序。有任何想法吗。这是我所拥有的:
@coasters = @coasters.sort_by { |c| c.coaster_sort }
@coasters = @coasters.sort_by { |c| c.park_name }
谢谢, 尼尔
【问题讨论】:
@coasters.sort_by! { |c| [c.coaster_sort, c.park_name]}
【讨论】:
ORDER BY col1, col2
你可以先传递一个排序最重要的数组:
@coasters = @coasters.sort_by {|c| [c.coaster_sort, c.park_name]}
【讨论】:
正如前面的答案已经提到的,你可以传递一个数组:
@coasters = @coasters.sort_by {|c| [c.coaster_sort, c.park_name]}
我相信这是对以下问题的重复:ruby sort_by twice
【讨论】: