ruby-on-rails - Rails Active Record 项目分区

标签 ruby-on-rails ruby arrays activerecord

所以,这是一个比较简单的问题。我有一个这样的事件记录对象:

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/

相关文章:

python - RubyPython 导入错误 : No module named site

javascript - 向多维数组添加元素

javascript - 修改数组而不改变

ruby-on-rails - 如何在 ruby​​ 1.9 上运行 Rails 1.2.5 应用程序?

ruby-on-rails - ActionMailer - 如何从 s3 添加附件

ruby-on-rails - Spree 如何在下拉 Ruby on Rails 中显示变体?

ruby - 在 Rails 之外的 HAML 中渲染 HAML 部分

ruby-on-rails - Rails 应用中静态页面的最佳实践

php - 垃圾邮件检测服务的最佳语言选择

arrays - 查找数组中第二小的元素