我有一个场景,我有可选的关联.有时协会在那里,有时则不是.
当我尝试在屏幕上显示数据时遇到问题(想想一个简单的索引操作).
请考虑以下应用程序设置:
我有兴趣从Deliverables Index Action中提取部署记录关联.
我让它使用以下代码,但我发现它有点难看:
@array = deliverable.try(:project).try(:deployment_record)
if @array
@array.each do |r|
[r.name, r.description].join(' - ')
end
Run Code Online (Sandbox Code Playgroud)
什么是更优雅的方式来重写这个?我试过了
deliverable.try(:project).try(:deployment_record).each do |r|
[r.name, r.description].join(' - ')
end
Run Code Online (Sandbox Code Playgroud)
但我继续遇到未定义的方法`每个'为nil:NilClass错误.我似乎无法找到一种方法来优雅地绕过Nil对象上的.each.我有一种感觉,不知怎的,我应该能够更优雅地做到这一点,但我不能把手指放在上面.
我通过代码库重复使用了这个剪切,所以如果我只是将它复制并粘贴到任何地方,那么额外的两行真的会让我感到害怕.我很高兴关联检索失败,我只是想优雅地失败而没有任何错误或消息.有任何想法吗?