我需要检查属性是否为零,如果不是,请获取内容
tmp[:field] = maybe_nil != nil ? maybe_nil.content : ''
如果为零,则显示空白字符串。
如果我正在检查nil并故意跳过内容访问者,为什么我会得到undefined method 'content' for nil:NilClass
?我怎么能执行这个逻辑?
谢谢!
答案 0 :(得分:1)
tmp[:field] = maybe_nil ? maybe_nil.content : ''
答案 1 :(得分:0)
如果maybe_nil.content
应该总是返回一个字符串,我将按以下方式执行:
tmp[:field] = maybe_nil.try(:content).to_s
nil.to_s #=> ""
答案 2 :(得分:0)
除非有特殊情况,否则这应该有效
tmp[:field] = maybe_nil.nil? ? "" : maybe_nil.content
答案 3 :(得分:0)
tmp [:field] = maybe_nil.present? ? maybe_nil.content:''
答案 4 :(得分:0)
就这样做
tmp[:field] = maybe_nil.try(:presence).try(:content) || ''