我有一个来自以下查询的活动记录结果集:
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" => [..]}
看起来你想group_by job_type
.所以,试一试:
people = People.where(job_type: ["Job Type 1", "Job Type 2"]).group_by(&:job_type)