Я разрешаю проверку подлинности Facebook на моем сайте Rails и использую Omniauth для этого. Недавно я получил следующее сообщение об ошибке в производстве:Как исправить ошибку электронной почты, когда пользователь регистрируется в Facebook (через Omniauth)
ActiveRecord :: RecordInvalid: Не удалось выполнить проверку электронной почты не может быть пустым, Email недействителен
Обычно Facebook подключений работает отлично, так что бы вызвать эта конкретная ошибка? Ниже приведен мой код для создания пользователя с Omniauth.
def self.create_from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_initialize.tap do |user|
user.provider = auth.provider
user.uid = auth.uid
user.name = auth.info.name
user.email = auth[:info][:email]
user.password = SecureRandom.urlsafe_base64(n=10)
user.save!
end
end
и вы подтвердили, что auth [: info] [: email] существует и действителен? или это должно быть 'auth.info.email'? – Doon
@ Вон, я думаю, его эквивалент. Регистрация Facebook обычно работает нормально. –