Erhalten Raute-Taste und konvertieren in string-ruby
Beispiel Hash -
hash = {:key => ["val1", "val2]}
Als ich dies Tat auf Schienen 3.0.7, es war in Ordnung.
> hash.keys.to_s
=> "key"
> hash[hash.keys.to_s]
=> ["val1", "val2"]
Aber wenn ich das mit rails 3.1.3, ist es nicht.
> hash.keys.to_s
=> [\"key\"]
> hash[hash.keys.to_s]
=> nil
Ist, das war wegen der Rails-version geändert? und gibt es keinen anderen Weg zu aktivieren Raute-Taste in eine Zeichenfolge, die funktioniert mit beiden Versionen (oder mit Schienen 2 zu)?
Fwiw, das aktuelle Verhalten ist mehr richtig, und die answe ist weitgehend offensichtlich: die "keys" ist plural, und sollte eine Sammlung.
Ja Dave, ich sollte bemerken, dass. Danke für die Erinnerung !!!
Ja Dave, ich sollte bemerken, dass. Danke für die Erinnerung !!!
InformationsquelleAutor Tar_Tw45 | 2012-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hast du ein upgrade von Ruby sowie Rails? Ich denke, dies ist ein Wechsel zwischen 1,8 und 1,9
Versuchen
hash.keys.first.to_s
(wenn es gibt immer nur einen Schlüssel) oderhash.keys.join
Beide deiner Antworten arbeiten. Thx mate!!
InformationsquelleAutor telent
Müssen Sie einfach konvertieren es in ein symbol anstelle eines Strings, welches mehr richtig:
InformationsquelleAutor ennuikiller