`try` - Methode, wenn Sie versuchen zu Holen hash-Wert

Ich versuche zu vermeiden, dass eine Fehlermeldung beim ziehen von einem hash die möglicherweise oder möglicherweise nicht über einen Wert verfügen. Entweder ich will es zurück den Wert oder die Rendite gleich null.

Ich dachte, die try Methode würde es tun, aber ich bin noch immer ein Fehler.

key not found: "en"

Mein hash ist eine hstore-Spalte genannt content ... content['en'] usw.

content = {"es"=>"This is an amazing event!!!!!", "pl"=>"Gonna be crap!"}

Versuchen Sie Methode

@object.content.try(:fetch, 'en') # should return nil, but errors even with try method

Ich dachte, das würde funktionieren, aber es funktioniert nicht. Wie sonst kann ich wieder ein nil statt einen Fehler?

Auch, das Inhalt-Feld selbst kann auch nil so aufrufen content['en'] wirft:

undefined method `content' for nil:NilClass
InformationsquelleAutor holden | 2013-06-29
Schreibe einen Kommentar