我的Devise用户模型忽略了我在模型上的唯一性检查
validates :email, presence: true, length: { maximum: 255 }, uniqueness: true
而是在遇到数据库上的唯一约束时点击数据库并爆炸,
重复输入'test@test.com'以获取关键'index_users_on_email'
我如何使其尊重模型级别验证?
答案 0 :(得分:0)
老实说,不知道这里发生了什么,但我只是再次尝试了它并且它有效,电子邮件地址有2个错误,
已经发送了电子邮件
然后我删除了我的显式唯一性检查,并将其减少到1错误。因此,Devise必须自动处理唯一的检查,并且必须使用本地服务器搞砸了。 Devise也会自动处理存在检查。
旁注,你需要在电子邮件长度上放置一个明确的验证器,否则它会爆炸。
validates_length_of :email, maximum: 255