Ruby - 订购数组

时间:2012-09-08 22:17:42

标签: ruby-on-rails ruby arrays

我有一个包含2列的表格。 "车" "年&#34 ;.我想收集所有汽车的数组,然后按年分类。我怎么做?

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

我需要按年命令@cars数组的步骤,请记住我没有将年份值保留在@cars数组中,只保留汽车。提前谢谢。

2 个答案:

答案 0 :(得分:3)

从代码示例中,我猜你正在使用Ruby on Rails。如果是,我建议您允许数据​​库订购结果。例如:

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

答案 1 :(得分:0)

使用sort

@cars.sort_by!(:year) # in-place sort

为什么要删除您希望排序的信息,然后按该信息对其进行排序?只需将信息保存在数组中 - 无需删除它。另外,你需要它来进行排序。

那就是说,为什么不使用order("year")在数据库端进行排序?

相关问题