2013-08-20 3 views
0

Environ dix à quinze pour cent de mes utilisateurs qui tentent de se connecter avec facebook ne sont pas en mesure de le faire. Rails donne une erreur "email ne peut pas être vide" lorsque vous essayez de créer l'utilisateur. J'avais l'habitude d'obtenir une erreur "mot de passe ne peut pas être vide" ... mais j'ai simplement eu un mot de passe aléatoire généré chaque fois que facebook ne passait pas un. Donc je me demandais s'il y avait un moyen de générer un email aléatoire quand facebook ne le transmet pas?Rails omniauth-facebook générer un courriel aléatoire

+0

Avez-vous jeté un oeil à http://railscasts.com/episodes/235-omniauth-part-1 et http://railscasts.com/episodes/236-omniauth-part-2? – Ashitaka

Répondre

0

Il était plus facile que je pensais:

user.email = auth.info.email = "#{auth.uid}@facebook.com" 

De cette façon, cela fonctionne dans les deux sens. S'il trouve l'email de omniauth ... alors il l'utilise. S'il ne le trouve pas dans omniauth ... alors il prend l'identifiant de l'utilisateur ... mettez-le devant "@ facebook.com" et VOILA! Adresse e-mail non générée de manière aléatoire.

Questions connexes