我从以下查询获得了ActiveRecord结果集:
people = People.where(job_type: ["Job Type 1", "Job Type 2"])
这将返回AcitveRecord关系。
我想取people
并将其转换为Hash
,其中每个键是job_type
,并且值是与该job_type
相匹配的记录数组。
我找到的最接近的东西是people.as_json
,但这给出了一系列的哈希值,而不是我想要使用的格式。
什么是Ruby转换人数据结构的优雅方式?理想情况是:
my_hash = {"Job Type 1" => [record1, record2..], "Job Type 2" => [..]}
答案 0 :(得分:3)
您似乎想group_by job_type
。因此,尝试一下:
people = People.where(job_type: ["Job Type 1", "Job Type 2"]).group_by(&:job_type)