将活动记录关系转换为专门键控的哈希



我有一个来自以下查询的活动记录结果集:

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)

最新更新