检查是否为 false 然后 运行 代码

Check if false then run code

我想测试一下。如果 false 执行此操作。我不想测试真实的,只测试错误的。我的代码看起来像这样,我只需要在 false:

时做一些事情
if Model.exists?(table_column: 'joe')
  # this part is blank
else
# run this code
end

我的代码 运行 在 else 之后,这正是我想要的。是否有一个干净的 rails/ruby 方法来测试错误?我的代码只会 运行 如果是假的,不是真的。

如果重复,我很乐意删除。谢谢

使用unless

unless Model.exists?(table_column: 'joe')
  # run code
end

if not

if not Model.exists?(table_column: 'joe') 
  # run code
end

if Model.find_by(table_column: 'joe').blank?
  # run code
end

希望对您有所帮助!

添加一些其他受欢迎的选择(@RSB:随时将这些复制到您的答案中):

使用“!”:

if !Model.exists?(table_column: 'joe')
  # A single '!' negates
end

使用“==”:

if Model.exists?(table_column: 'joe') == false
  # compared against false
end

请注意,这些方法存在细微(但可能是巨大的)差异,请在网上搜索 "falsey"、"truthy" 或 "truthiness" 以及您最喜欢的编程语言。

选择哪种解决方案在很大程度上取决于您的风格和手头的表达方式(例如 my_value == false 非常明确,如果 my_value = nil 则不会命中)。