У меня есть ActiveRecord
модели с проверкой электронной почты, который проверяет уникальность:активной запись повышение recordnotunique вместо принимать
validates :email,
allow_blank: true,
format: { with: /\A.*@.*\z/ },
uniqueness: true
Когда я пытаюсь вставить новую запись с той же электронной почтой, он дает мне следующую ошибку:
@messages={:email=>["has already been taken"]}, @details={:email=>[{:error=>:taken, :value=>"[email protected]"}
Тем не менее, хочу поднять ActiveRecord::RecordNotUnique
.
Возможно ли это?
Я попытался добавить индекс электронной почты при миграции, с unique: true
, но ничего не сделал. Что еще я могу попробовать?
Если он не прошел проверку, он не будет пытаться его сохранить, поэтому никогда не ударит уникальный индекс (если вы не используете метод сохранения, который игнорирует проверку) –