0

我正在尝试使用 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 会为零?

4

1 回答 1

2

第三行应该是: user = User.from_facebook(omni_request) ?

于 2015-01-16T01:31:09.070 回答