Rails 4 + ActiveRecord:如何使用.group返回一个记录数组而不仅仅是一个记录数组?

时间:2014-05-20 15:59:30

标签: activerecord

我有一个Product模型,has_many ProductImage s。

每个图像都有一个名为name的属性。

例如:

产品:T恤

T恤有图片:image1 name:blueimage2 name:blueimage3 name:green

ActiveRecord中是否有一个方法可以根据名称将所有T-shirt的图像分组到一个数组数组中?我想要一些会返回[[image1, image2], [image3]]的东西,因为image1和image2具有相同的颜色,它们被分组到一个数组中。

文档(http://guides.rubyonrails.org/active_record_querying.html#group)说.group(:name)不会做我想要的事情:“这会为数据库中有订单的每个日期提供一个Order对象。”

1 个答案:

答案 0 :(得分:0)

根据您想要的输出,您可能想要查看Ruby Enumerable p4 describe -s change# 方法。这将返回哈希,然后您可以获得group_by

values

这将给出一个数组数组,其中ProductImages按名称分组在内部数组中。