Chainer ses méthodes sans redouter un "NoMethodError" ou "undefined method for NilClass" avec try

Il peut être pratique de faire un :

@voiture.roues.first.gonflage

Voiture étant un objet de la classe Voiture.

Roue est une classe et elle belongs_to Voiture

gonflage est un attribut de roue.

Ici pour arriver jusqu'à gonflage, on peut rencontrer plusieurs nil :

@voiture peut être nil. 

Si @voiture n'est pas nil, alors roues.first peut renvoyer nil.

Eh bien il existe un fonction try sur Object (méthode qui vient de Rails et non du Ruby pur) qui permet d'essayer d'appeler une méthode, sur la classe ou sur nil, de sorte que :

@voiture.try(:roues).try(:first).try(:gonflage) renverra soit la valeur de gonflage soit nil.