Ruby - Acesse o hash multidimensional e evite o acesso a objetos nulos [duplicados]
Duplicata Possível:
Ruby: Nils em uma instrução IF
Existe uma maneira limpa de evitar chamar um método nil em um hash params aninhado?
Digamos que eu tente acessar um hash assim:
<code>my_hash['key1']['key2']['key3'] </code>
Isso é bom se key1, key2 e key3 existirem no hash (es), mas e se, por exemplo, key1 não existir?
Então eu pegariaNoMethodError: undefined method [] for nil:NilClass
. E ninguém gosta disso.
Até agora eu lido com isso fazendo uma condicional como:
if my_hash['key1'] && my_hash['key1']['key2']
...
Isso é apropriado, existe alguma outra maneira Rubiest de fazê-lo?