所以,这是一个比较简单的问题。我有一个这样的事件记录对象:
Item
--id
--attribute
我需要通过属性键拆分一个“Item”数组,所以我想要像这样拆分各种数组。
[<#Item :id => 1, :attribute => 1>,<#Item :id => 4, :attribute => 1>,<#Item :id => 7, :attribute => 1>]
[<#Item :id => 2, :attribute => 2>,<#Item :id => 5, :attribute => 2>,<#Item :id => 8, :attribute => 2>]
[<#Item :id => 3, :attribute => 3>,<#Item :id => 6, :attribute => 3>,<#Item :id => 9, :attribute => 3>]
我该怎么做?
最佳答案
这应该为您提供一个数组数组,其中每个子数组具有相同的属性
:
Items.all.group_by(&:attribute).values
编辑:因为您正在使用 ActiveRecord
,您可以在数据库中分组。我自己更像是一个 DataMapper
的人,但大致应该是这样的:
Items.find(:all, group: 'attribute')
关于ruby-on-rails - Rails Active Record 项目分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871463/