<分区>
我需要验证 Rails ActiveRecord 对象的 bool 字段。我使用了这个问题的通用解决方案:
validates :boolean_field, :inclusion => { :in => [true, false] }
但是,虽然这个解决方案解决了验证 false
值的问题,它仍然允许将字符串保存到 boolean_field
:
my_object.boolean_field = "string"
my_object.save # => true
my_object.boolean_field # => false
如果我将包含指定为 [true, false]
,为什么会发生这种情况?更重要的是,如何仅验证真值和假值?
附言如果这个问题很重要,我正在使用 PostgreSQL。