【发布时间】:2014-10-14 14:19:21
【问题描述】:
我需要验证 Rails ActiveRecord 对象的布尔字段。我使用了这个问题的通用解决方案:
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。
【问题讨论】:
-
看这里stackoverflow.com/questions/5170008/…可能对你有帮助
标签: ruby-on-rails rails-activerecord