【发布时间】:2012-12-18 06:40:19
【问题描述】:
我已经定义了一个带有整数字段的 Mongoid 模型,我可以像这样验证数值
# source.rb
class Source
field :code, type: Integer
validates_numericality_of :code, allow_nil: true
allow_nil 的目的是验证存在的字段并忽略 nil 值。
但是在这里,allow_nil 完全绕过了数字检查
object = Source.new
object.code = "ABC"
object.valid?
=> true
object
=> #<Source _id: 50d00b2d81ee9eae46000001, _type: nil, code: 0>
在activerecord中,这可以正常工作
object = Source.new
object.code = "ABC"
object.valid?
=> false
object
=> #<Source id: nil, code: 0, created_at: nil, updated_at: nil>
object.save
(0.1ms) begin transaction
(0.1ms) rollback transaction
=> false
【问题讨论】:
标签: validation mongoid null activemodel