设计用户模型忽略电子邮件上的模型验证

时间:2013-12-06 16:22:30

标签: ruby-on-rails validation devise ruby-on-rails-4

我的Devise用户模型忽略了我在模型上的唯一性检查

validates :email, presence: true, length: { maximum: 255 }, uniqueness: true

而是在遇到数据库上的唯一约束时点击数据库并爆炸,

  

重复输入'test@test.com'以获取关键'index_users_on_email'

我如何使其尊重模型级别验证?

1 个答案:

答案 0 :(得分:0)

老实说,不知道这里发生了什么,但我只是再次尝试了它并且它有效,电子邮件地址有2个错误,

  

已经发送了电子邮件

然后我删除了我的显式唯一性检查,并将其减少到1错误。因此,Devise必须自动处理唯一的检查,并且必须使用本地服务器搞砸了。 Devise也会自动处理存在检查。

旁注,你需要在电子邮件长度上放置一个明确的验证器,否则它会爆炸。

 validates_length_of :email, maximum: 255