如何在Rails中比较布尔值

时间:2019-03-27 13:57:06

标签: ruby-on-rails

我正在根据需求比较数据类型。我具有布尔返回值,如字符串“ true”或“ false”。我需要将实际值与期望值进行比较。我正在使用以下代码进行比较,但未进行比较。如何比较Rails中的布尔值?

   if expected_value.include? "DataType_Boolean"
    #   Check that the actual value should be either true or false.
    if expected_value.casecmp("true").zero? || expected_value.casecmp("false").zero?
      result = "Passed"
    end

1 个答案:

答案 0 :(得分:0)

我假设expected_value看起来像这样(不是数组):

"DataType_Boolean false"

因为如果在数组上调用casecmp,它将返回未定义的方法错误。在这种情况下,您可以继续致电include?来查看是否匹配。

if expected_value.include? "DataType_Boolean"
  #   Check that the actual value should be either true or false.
  if expected_value.include?("true") || expected_value.include?("false")
    result = "Passed"
  end
end

如果以上假设为真,则由于包含了字符串的多余部分,第二个if语句将永远不会返回true。