ich Daten aus der Datenbank bin Laden und es auf eine Konstante wie folgt zu speichern:Wie 1- und 2-dimensionale Hash erstellen
profession = Hash.new
Profession.all.each do |p|
profession[p.name] = p.unique_profession
profession[p.name]['descr'] = p.description # problem
profession[p.name]['created_at'] = p.created_at # problem
end
Auf der Linie profession[p.name]['descr']
tritt dieser Fehler auf:
undefined method `[]=' for 1:Fixnum (NoMethodError)
ich möchte profession
wie verwenden:
<div>Profession name: <%= profession[p.name] %></div>
<div>Description: <%= profession[p.name]['descr'] %></div>
Wie kann ich profession
Arbeit machen mit als ein [name]
und als zwei Parameter?
Um mehrere Schlüssel zu übergeben, möchten Sie wahrscheinlich einen verschachtelten Hash haben. Wenn Sie möchten, dass der Wert-Hash eine Zeichenkette für 'to_s' zurückgibt, müssen Sie' Hash # to_s' auf eine seltsame, katastrophale Weise neu definieren. Andernfalls können Sie nicht. – sawa
Welcher Typ ist 'p.unique_profession'? – ArtOfCode
@ArtOfCode 'Fixnum'. – sawa