Rails omniauth-facebook生成随机电子邮件

时间:2013-08-20 15:33:35

标签: facebook ruby-on-rails-3.2 omniauth

尝试使用facebook登录的用户中,大约有10%到15%的用户无法这样做。在尝试创建用户时,Rails会给出“电子邮件不能为空”错误。

我曾经得到一个“密码不能为空”错误...但我只是在facebook没有通过时生成一个随机密码。所以我想知道,如果facebook无法通过,我是否有办法生成随机电子邮件?

1 个答案:

答案 0 :(得分:0)

实际上比我想象的要容易:

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

这样两种方式都有效。如果它找到来自omniauth的电子邮件...那么它会使用它。如果它没有在omniauth中找到它...那么它需要用户ID ...把​​它放在“@ facebook.com”和VOILA前面!不是随机生成的电子邮件地址。