В принципе у меня есть массив хэшей, как так:Рельсы сумма хэши внутри массива
[
{ :id => 20, :total => 1, :total2 => 0 },
{ :id => 21, :total => 1, :total2 => 0 },
{ :id => 22, :total => 2, :total2 => 0 },
{ :id => 23, :total => 1, :total2 => 0 },
{ :id => 20, :total => 1, :total2 => 0 },
{ :id => 21, :total => 1, :total2 => 0 },
{ :id => 22, :total => 1, :total2 => 1 },
{ :id => 23, :total => 1, :total2 => 0 }
]
Я хочу массив просуммировать последние два хэш-столбца, как это так, сохраняя при этом первый (:id
) в качестве идентификатора:
[
{ :id => 20, :total => 2, :total2 => 0 },
{ :id => 21, :total => 2, :total2 => 0 },
{ :id => 22, :total => 3, :total2 => 1 }
]
Я посмотрел вокруг, и кажется, что метод .inject()
используется в данном случае, но я не могу понять синтаксис/как использовать это.
Я ищу, чтобы сохранить первый столбец (:id
) в качестве поля идентификатора; если есть еще один хэш с этим идентификатором, как и в моем примере выше, два хэша должны быть добавлены вместе.