bis Hash Ich habe ein Array von Objekten:mit einem Feld als Schlüssel
[
#<User id: 1, name: "Kostas">,
#<User id: 2, name: "Moufa">,
...
]
Und ich will wandeln diese in eine Hash mit dem id
als Schlüssel und die Objekte als Werte . Im Moment mache ich es wie so aber ich wissen, dass es einen besseren Weg:
users = User.all.reduce({}) do |hash, user|
hash[user.id] = user
hash
end
Die erwartete Ausgabe:
{
1 => #<User id: 1, name: "Kostas">,
2 => #<User id: 2, name: "Moufa">,
...
}
@SergioTulentsev, ich war auf der Suche auf [Enumerable # group_by] (http: // www. ruby-doc.org/core-1.9.3/Enumerable.html#method-i-group_by) und es war fast, was ich suche. Ich dachte nur, es gibt eine Version davon, anstatt Arrays für Werte zu erstellen, ist es aggressiver und behält nur einen Wert. – Kostas