Dies sollte ein einfacher sein. Ich habe eine Methode in meinem Modell, das dies tut:Rails, Hash-Fehler beim Zuweisen zur Variablen, aber korrekte Ausgabe beim Abbruch
my_hash.max_by{ |k,v| v}[0]
Ich versuche, den Schlüssel des Maximalwertes in dem Hash zu erhalten (indem sie sie in ein Array konvertieren). Wenn ich den folgenden bekomme ich meine bestimmt Ergebnisse:
abort my_hash.max_by{ |k,v| v}[0] # Honda (for example)
Wenn ich das tue, erhalte ich eine nicht definierte Methode `[]‘ für nil: NilClass.
brand = my_hash.max_by{ |k,v| v}[0]
Was fehlt mir? Irgendwelche Gedanken oder Vermutungen werden geschätzt!
EDIT my_hash { "Honda" => 4, "Toyota" => 2, "Ford" => 1}
Der Code arbeitet, als ich es in meinen Augen direkt habe. Sobald ich es auf das Modell verschiebe und versuche, es einer Variablen zuzuweisen, erhalte ich den obigen Fehler.
Bitte fügen Sie Ihre 'my_hash' –