Ruby on rails 如何设置回退排序系统?

Ruby on rails 如何设置回退排序系统?,ruby-on-rails,ruby,list,sorting,Ruby On Rails,Ruby,List,Sorting,我正在打印一个列表,顺序如下: <% @users.order(:number).each do |u| %> <%= u.name %> <% end %> 但有些用户将具有相同的值:number,在这种情况下,记录似乎是根据创建的时间排序的。当记录的属性值与用于排序的属性值相同时,如何设置备用或二级排序系统?您可能会希望使用排序依据而不是顺序 @users.sort_by{| u |[u.number,u.second_选项]} 这将首先按数字排

我正在打印一个列表,顺序如下:

<% @users.order(:number).each do |u| %>
  <%= u.name %>
<% end %>


但有些用户将具有相同的值
:number
,在这种情况下,记录似乎是根据创建的
时间排序的。当记录的属性值与用于排序的属性值相同时,如何设置备用或二级排序系统?

您可能会希望使用
排序依据
而不是
顺序

@users.sort_by{| u |[u.number,u.second_选项]}

这将首先按数字排序,然后如果数字匹配,它将提取第二个选项,并按该选项进行比较。从技术上讲,您可以将任意多的东西放入该数组中进行排序


编辑:实际上,已经回答了一个类似的问题

您可能想使用
sort\u by
而不是
order

@users.sort_by{| u |[u.number,u.second_选项]}

这将首先按数字排序,然后如果数字匹配,它将提取第二个选项,并按该选项进行比较。从技术上讲,您可以将任意多的东西放入该数组中进行排序


编辑:实际上,已经回答了一个类似的问题

您可能想使用
sort\u by
而不是
order

@users.sort_by{| u |[u.number,u.second_选项]}

这将首先按数字排序,然后如果数字匹配,它将提取第二个选项,并按该选项进行比较。从技术上讲,您可以将任意多的东西放入该数组中进行排序


编辑:实际上,已经回答了一个类似的问题

您可能想使用
sort\u by
而不是
order

@users.sort_by{| u |[u.number,u.second_选项]}

这将首先按数字排序,然后如果数字匹配,它将提取第二个选项,并按该选项进行比较。从技术上讲,您可以将任意多的东西放入该数组中进行排序


编辑:实际上,已经回答了一个类似的问题

您可以继续添加到
order
方法中

@users.order(:number, :name, :last_logged_in, :id)
如果数字相同,它将打破与名称的联系,然后是上次登录,然后是id。这一切都在数据库中为您完成


如果您已经在内存中存储了数据,那么您可以使用Ruby的
sort\u by
方法。

您可以继续添加到
order
方法

@users.order(:number, :name, :last_logged_in, :id)
如果数字相同,它将打破与名称的联系,然后是上次登录,然后是id。这一切都在数据库中为您完成


如果您已经在内存中存储了数据,那么您可以使用Ruby的
sort\u by
方法。

您可以继续添加到
order
方法

@users.order(:number, :name, :last_logged_in, :id)
如果数字相同,它将打破与名称的联系,然后是上次登录,然后是id。这一切都在数据库中为您完成


如果您已经在内存中存储了数据,那么您可以使用Ruby的
sort\u by
方法。

您可以继续添加到
order
方法

@users.order(:number, :name, :last_logged_in, :id)
如果数字相同,它将打破与名称的联系,然后是上次登录,然后是id。这一切都在数据库中为您完成


如果您的内存中已经有数据,然后您可以使用Ruby的
sort\u by
方法。

未准备好标记为重复,但您可以在“未准备好标记为重复”上找到答案,但您可以在“未准备好标记为重复”上找到答案,但您可以在“未准备好标记为重复”上找到答案
@users.order(:number, :name, :last_logged_in, :id)