我有用户模型
class User
include MongoMapper::Document
key :phone, Integer, :required => true, :unique => true
key :is_confirmed, Boolean, :default => false
timestamps!
end
并验证手机的唯一性,但我可以使用同一部手机创建用户而不会出错.WHY?
为什么验证唯一性不起作用
答案 0 :(得分:1)
MongoMapper 使用ActiveModel:Validations,因此它的工作方式几乎与ActiveRecord
完全相同尝试此操作验证:validates_uniqueness_of
validates_uniqueness_of :phone
尝试保存记录时会运行验证。如果验证fail
,则保存将返回false
。
大多数简单验证可以与键一起声明。
示例:
class Person
include MongoMapper::Document
key :first_name, String, :required => true
key :last_name, String, :required => true
key :age, Integer, :numeric => true
key :born_at, Time
key :active, Boolean
key :fav_colors, Array
end
定义keys
时的可用选项是: