Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby-对数组进行排序_Ruby On Rails_Ruby_Arrays - Fatal编程技术网

Ruby on rails Ruby-对数组进行排序

Ruby on rails Ruby-对数组进行排序,ruby-on-rails,ruby,arrays,Ruby On Rails,Ruby,Arrays,我有一个有两列的表。“汽车”“年”。我想收集所有的汽车,然后按年份分类。我该怎么做 <% @cars_pre = Car.find(:all) %> <% @cars = @cars_pre.collect {|x| x.car} %> 我需要按年份订购@cars数组的步骤,请记住,我并没有在@cars数组中保留年份值,只保留了cars。提前感谢。从代码示例中,我猜您正在使用Ruby on Rails。如果是,我建议您允许数据库对结果进行排序。例如: @cars =

我有一个有两列的表。“汽车”“年”。我想收集所有的汽车,然后按年份分类。我该怎么做

<% @cars_pre = Car.find(:all) %>
<% @cars = @cars_pre.collect {|x| x.car} %>


我需要按年份订购@cars数组的步骤,请记住,我并没有在@cars数组中保留年份值,只保留了cars。提前感谢。

从代码示例中,我猜您正在使用Ruby on Rails。如果是,我建议您允许数据库对结果进行排序。例如:

@cars = Card.order("year").all

从代码示例中,我猜您正在使用RubyonRails。如果是,我建议您允许数据库对结果进行排序。例如:

@cars = Card.order("year").all
使用
排序

@cars.sort_by!(:year) # in-place sort
为什么要删除要排序的信息,然后按该信息排序?只需将信息保留在阵列中,无需删除它。另外,你需要它来分类

也就是说,为什么不在数据库端使用
order(“year”)

使用
sort

@cars.sort_by!(:year) # in-place sort
为什么要删除要排序的信息,然后按该信息排序?只需将信息保留在阵列中,无需删除它。另外,你需要它来分类


也就是说,为什么不在数据库端使用
order(“year”)
对其进行排序?

您甚至不需要此链中的
all
。您甚至不需要此链中的
all