Authlogic: дважды генерирует ошибку «Электронная почта уже принята»

Я использую authlogic с моей моделью пользователя, с полем входа в систему, настроенным на использование электронной почты, таким образом:

acts_as_authentic do |c| 
  c.login_field = :email 
end  

Если я попытаюсь создать нового пользователя, а адрес электронной почты уже используется, он дважды добавит повторяющуюся ошибку электронной почты: (из консоли)

user = User.new(:first_name => "fred", :last_name => "Smith", :email => User.last.email);user.valid?;errors = user.errors
=> {:email=>["has already been taken", "has already been taken"]} 

Я предполагаю, что это как-то связано с использованием электронной почты в качестве логина , может быть? У меня нет других проверок электронной почты, кроме validates_format_of, и я экспериментировал с удалением этой проверки (не имеет значения).

Это неприятно, потому что из-за этого возникают ошибки, которые я показываю в форме при неудачной проверке.

Прежде чем я попытаюсь взломать authlogic, кто-нибудь знает, почему это может происходить? спасибо, макс

7
задан Max Williams 29 June 2011 в 12:14
поделиться