我正在尝试使用 facebook 进行简单的omniauth 调用。如果我像这样捕获请求哈希,一切正常:
def facebook
user = User.from_facebook(request.env["omniauth.auth"])
if user.persisted?
...
else
...
end
end
但是如果我尝试将请求哈希保存在变量中,我会得到 request = nil。例如:
def facebook
omni_request = request.env["omniauth.auth"]
user = User.from_facebook(omni_request)
if user.persisted?
...
else
...
end
end
上面的例子失败了,因为 request 是 nil,我不能在 nil 的东西上调用 env。
有谁知道为什么在from_facebook
类方法之外调用 request 会为零?