gpt4 book ai didi

ruby-on-rails - Rails 数据库默认值和 bool 字段的模型验证

转载 作者:行者123 更新时间:2023-12-03 10:22:04 24 4
gpt4 key购买 nike

在 Rails 模型中,我有一个属性 is_subscriber ,当我构建一个 db 迁移以将此列添加到数据库时,我将默认值指定为 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):

最佳答案

来自 here

If you want to validate the presence of a boolean field (where the real values are true and false), you will want to use validates_inclusion_of :field_name, :in => [true, false] This is due to the way Object#blank? handles boolean values. false.blank? # => true



或以 Rails3 方式
validates :field, :inclusion => {:in => [true, false]}

关于ruby-on-rails - Rails 数据库默认值和 bool 字段的模型验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10506575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com