Я использую базу данных Riak для моего текущего проекта, который не поддерживает вспомогательный метод «уникальность». Теперь я хочу проверить электронную почту пользователя на уникальность. Как написать пользовательскую проверку для уникального адреса emial ??
Пользовательская проверка Rails 3 на уникальность электронной почты
comment
Пожалуйста, ознакомьтесь с этим stackoverflow.com/questions/7888009/ripple-with-devise.
- person Pavan   schedule 16.04.2014
Ответы (2)
Попробуйте что-нибудь вроде этого. Возможно, вам придется изменить часть User.exists?
, если она не работает с вашей БД.
class User
validate :verify_unique_email
def verify_unique_email
if User.exists? email: email
errors.add :email, 'has already been taken'
end
end
end
person
Jon
schedule
16.04.2014
существует? метод не поддерживается в Riak
- person Arif Usman; 16.04.2014
Как я уже сказал, вам, возможно, придется изменить этот запрос. Однако вы проверяете, существует ли запись с определенным значением, сделайте это. Если вы найдете его, добавьте ошибку, как я показал.
- person Jon; 16.04.2014
Вы можете поместить что-то вроде этого в свой валидатор:
Class User
validate :unique_email_address?
def unique_email_address?
return false if User.where(email: self.email).any?
end
end
Дайте мне знать, если вам нужна помощь с пользовательским файлом валидатора.
person
Matthew Leonard
schedule
16.04.2014