在 Rails 模型中我有一个属性is_subscriber
,当我构建数据库迁移以将此列添加到数据库时,我指定默认值为 false:
t.boolean "is_subscriber", :default => false
我还在模型中指定了该属性需要存在:
validates :is_subscriber, presence: true
那么为什么当我创建模型实例而不指定该属性时会出现此错误呢?
2012-05-08T21:05:54+00:00 app[web.1]: ActiveRecord::RecordInvalid (Validation failed: Is subscriber can't be blank):
From here http://ar.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M000083
如果您想验证布尔字段是否存在(其中
真实值是 true 和 false),您将需要使用
validates_inclusion_of :field_name, :in => [true, false] 这是由于
到 Object#blank 的方式?处理布尔值。假.空白? #=>
真的
或者以Rails3方式
validates :field, :inclusion => {:in => [true, false]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)