我正在使用omniauth并设计使用他们的Facebook帐户登录用户,一切正常但是当我尝试将他们的电子邮件从哈希中提取时,我收到了这个错误:
NoMethodError in AuthenticationsController#create
undefined method `id' for "/":String
这是错误的完整日志:http: //pastie.org/1698569
错误消失了,它让我在刷新后可以正常登录!
编辑:事实证明,我的身份验证控制器中的第 22 行
sign_in_and_redirect_to(:user, root_path)
由于某种原因,运行此方法后我无法登录:用户
def apply_facebook(omniauth)
if (extra = omniauth['extra']['user_hash'] rescue false)
self.email = (extra['email'] rescue '')
end
end
但是,如果我不运行该方法,那么它可以 sign_in_and_redirect_to 就好了
这是我的控制器/模型http://pastie.org/1698453
非常感谢任何帮助