Mam tablicę obiektów:Konwersja tablicę obiektów do Hash z polem jako kluczowy
[
#<User id: 1, name: "Kostas">,
#<User id: 2, name: "Moufa">,
...
]
I chcę do konwersji na hash z id
jak przyciski i obiektów jak wartości . Teraz robię to tak tak ale wiem istnieje lepszy sposób:
users = User.all.reduce({}) do |hash, user|
hash[user.id] = user
hash
end
oczekiwany wynik:
{
1 => #<User id: 1, name: "Kostas">,
2 => #<User id: 2, name: "Moufa">,
...
}
@SergioTulentsev, szukałem w [Enumerable # group_by] (http: // www. ruby-doc.org/core-1.9.3/Enumerable.html#method-i-group_by) i to było prawie to, czego szukam. Po prostu pomyślałem, że istnieje jego wersja zamiast budować tablice wartości, jest bardziej agresywna i zachowuje tylko jedną wartość. – Kostas