我有一个来自以下查询的 ActiveRecord 结果集:
people = People.where(job_type: ["工作类型 1", "工作类型 2"])
这将返回一个 AcitveRecord 关系。
我想获取 people
并将其转换为 Hash
,其中每个键都是 job_type
,值是一个记录数组匹配那个 job_type
。
我找到的最接近的是 people.as_json
但它提供了一个哈希数组,而不是我想要使用的格式。
转换人员数据结构的优雅 Ruby 方法是什么?理想情况下它看起来像:
my_hash = {"工作类型 1"=> [record1, record2..], "工作类型 2"=> [..]}
最佳答案
看起来你想要group_by 工作类型
。所以,试一试:
people = People.where(job_type: ["Job Type 1", "Job Type 2"]).group_by(&:job_type)
关于ruby-on-rails - 将 ActiveRecord 关系转换为特定键控的哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54596469/