使用除非和“?”有什么需要?在这种情况下,如果您可以一起使用
unless person.present?
相当于
if person.present
它们不是等价的。
doSomeThing() unless person.present?
person.present
仅当is
时才会执行null
doSomeThing() unless person.present
如果person.present
是一个false
值,将执行
doSomeThing() if person.present
如果person.present
是一个true
值,将执行
您也可能屈服于问题中的错字。除非你有一个' per sent ' 属性person
,否则它总是未定义的,这是错误的。