我有这样的代码:
Manufacturer.all.collect {|p| [ p.MFA_BRAND, p.MFA_ID ] }
我是新手,我只知道如何对 AR 对象进行排序,但在我的情况下该怎么做,因为我还需要收集……那么如何对我的数组进行排序并收集?
在 Enumerable 模块中查找 sort 和 sort_by 函数。数组是一个可枚举的。在网上搜索示例。
您可以使用 对 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]}