类似于ruby中用于访问数组中的项的符号



我正在处理一个类,该类是JsonApiClient::Resource的子类,可以像这样访问(不是与符号/try-sytax(:

user&.professional_awards

professional_prawards是一个具有不同访问权限的哈希数组:

{id: 23
name: 'something',
professional_awards:[
{name: 'Best Smile'}, {name: 'Funniest'}
]
}

我的问题是,我如何以安全的方式获得内部专业奖项?有没有一种方法可以使用类似于"与"的语法?还是我必须手动检查?想要做的(以及Rails中的选项,因此标记为(:

user&.professional_awards.first&['name'] # Best Smile

您正在寻找哈希#dig:

hash = {
id: 23,
name: 'something',
professional_awards: [ { name: 'Best Smile' }, { name: 'Funniest' } ]
}
hash.dig(:id) # 23 
hash.dig(:professional_awards) # [{:name=>"Best Smile"}, {:name=>"Funniest"}]
hash.dig(:professional_awards, 1) # {:name=>"Funniest"}

最新更新