0

我有这样的代码:

Manufacturer.all.collect {|p| [ p.MFA_BRAND, p.MFA_ID ] }

我是新手,我只知道如何对 AR 对象进行排序,但在我的情况下该怎么做,因为我还需要收集……那么如何对我的数组进行排序并收集?

4

2 回答 2

0

在 Enumerable 模块中查找 sort 和 sort_by 函数。数组是一个可枚举的。在网上搜索示例。

于 2013-01-28T19:29:29.667 回答
0

您可以使用 对 AR 记录进行排序order,然后收集您想要的内容:

Manufacturer.order(:MFA_BRAND).all.collect{|p| [p.MFA_BRAND, p.MFA_ID]}

或者,您可以在收集之前或之后排序为 ruby​​ Enumerable:

Manufacturer.all.sort_by(&:MFA_BRAND).collect{|p| [p.MFA_BRAND, p.MFA_ID] }
Manufacturer.all.collect{|p| [p.MFA_BRAND, p.MFA_ID] }.sort_by{|r| r[0]}
于 2013-01-28T19:29:38.597 回答