我的模型中有
validates :is_foo, presence: true, numericality: {only_integer:true, less_than_or_equal_to: 1, greater_than_or_equal_to: 0}
在我的规范中
describe "when is_foo is not an integer" do
before {@user.is_foo = true}
it {should_not be_valid}
end
上面的测试失败了,但是由于我将 is_foo 设置为布尔值而不是整数,所以测试应该通过吗?
布尔值在红宝石中被视为整数吗?因为当我这样做的时候
true.to_i # error
true == 1 # false
false == 0 # false