我正在使用twitter omniauth允许用户使用twitter登录。由于Twitter不共享用户电子邮件,我想在他们第一次登录后(当电子邮件为空时)将其重定向到info_path。 Info_path只是一个自定义设计编辑页面,充当第二个登录页面。问题是,如果他们的电子邮件是空白的,我无法将其重定向到信息页面。
这是我的omniauth_callbacks控制器:
def all
user = User.from_omniauth(request.env["omniauth.auth"])
if user.persisted? and user.email.present?
sign_in_and_redirect user
elsif user.persisted? and user.email.blank?
sign_in user and redirect_to info_path
else
session["devise.user_attributes"] = user.attributes
redirect_to new_user_registration_url
end
end
答案 0 :(得分:0)
简单修复。我使用的帐户我认为没有电子邮件,但确实如此。谢谢@Mohamad。