积极记录提高记录而不是采取

时间:2016-12-14 16:51:58

标签: ruby-on-rails ruby activerecord

我有一个ActiveRecord模型,其中包含验证唯一性的电子邮件验证:

  validates :email,
            allow_blank: true,
            format: { with: /\A.*@.*\z/ },
            uniqueness: true

当我尝试使用相同的电子邮件插入新记录时,它会出现以下错误:

  

@messages = {:email => ["已经拍摄"]},@ details = {:email => [{:error =>:take,:value =&gt ;" liberty_w@example.com"}

但是,我希望它提出ActiveRecord::RecordNotUnique

这可能吗?

我尝试在迁移中添加电子邮件索引,unique: true但是没有做任何事情。我还能尝试什么?

1 个答案:

答案 0 :(得分:1)

如果您想要ActiveRecord::RecordNotUnique例外而不是:taken验证错误,则需要做两件事:

  1. 向数据库列添加唯一索引
  2. 从模型中删除唯一性验证