And*_*nov 26 activerecord ruby-on-rails ruby-on-rails-3.2
在Rails模型中,我有一个属性is_subscriber,当我构建一个db迁移以将此列添加到数据库时,我将默认值指定为false:
t.boolean "is_subscriber", :default => false
Run Code Online (Sandbox Code Playgroud)
我还在模型中指定需要存在此属性:
validates :is_subscriber, presence: true
Run Code Online (Sandbox Code Playgroud)
那么为什么在创建模型实例时却没有指定此属性会出现此错误?
2012-05-08T21:05:54+00:00 app[web.1]: ActiveRecord::RecordInvalid (Validation failed: Is subscriber can't be blank):
Run Code Online (Sandbox Code Playgroud)
Fab*_*bio 51
从这里开始
如果要验证是否存在布尔字段(实际值为true和false),则需要使用validates_inclusion_of:field_name,:in => [true,false]这是由于Object#blank的方式?处理布尔值.false.blank?#=>是的
或者以Rails3的方式
validates :field, :inclusion => {:in => [true, false]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5682 次 |
| 最近记录: |