【发布时间】:2012-10-24 22:38:54
【问题描述】:
我有一个类似下面的模型,
class Activity < ActiveRecord::Base
attr_accessible :name, :admin
validates :name, :presence => true
validates :admin, :presence => true
end
name 属性是一个字符串,admin 属性在迁移中定义为布尔值。
如果我尝试在控制台中使用创建模型的实例,
a = Activity.create(:name => 'Test', :admin => 0)
然后验证失败,说我需要为管理员提供一个值。为什么?我提供了一个值。
如果我根本没有提供值,或者我提供了 nil,我可以理解。但是为什么像 0(或者甚至是 false)这样的值会导致验证失败?
【问题讨论】: