Rails 4:组合哈希数组

时间:2017-02-02 15:16:43

标签: arrays ruby-on-rails-4 hash

如果我有一个ActiveRecord对象数组并希望按属性组合它们,我该怎么做?

示例:

x = [#<Foo id: 1, a: 2, b: 3>, #<Foo id: 2, a:20, b:30>, #<Foo id: 3, a: 200, b: 300>]

我希望:

{id: [1, 2, 3], a: [2, 20, 200], b: [3, 30, 300]}

1 个答案:

答案 0 :(得分:1)

又快又脏:

x = [#<Foo id: 1, a: 2, b: 3>, #<Foo id: 2, a:20, b:30>, #<Foo id: 3, a: 200, b: 300>]
result = {id: x.map(&:id), a: x.map(&:a), b: x.map(&:b)}