0

因此,我按照此处提到的说明进行操作http://railscasts.com/episodes/235-devise-and-omniauth-revised并成功设置了登录并使用 twitter 选项注册。现在我正在尝试设置 facebook。使用gem 'omniauth-facebook'. 安装后。然后我添加到/config/initializers/devise.rb文件

config.omniauth :facebook, ENV["FB_APP_ID"], ENV["FB_SECRET_ID"]

现在,当我尝试使用 facebook 登录时。我得到错误 -

ArgumentError in OmniauthCallbacksController#facebook

wrong number of arguments(3 for 2)

我怀疑可能会出现错误。但不确定如何解决。

我的控制器和用户模型与此处提到的相同 - http://railscasts.com/episodes/235-devise-and-omniauth-revised

我错过了什么?

更新:我确实在 user.rb 模型文件中改变了这个

而不是 alias_method :twitter, :all 我做到了 alias_method :twitter, :facebook :all

谢谢

4

1 回答 1

2

这对我有用:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, 'FB_APP_ID', 'FB_SECRET_ID'

但我没有使用设计,所以只是尝试删除ENV.

另请阅读此处了解所有选项和您可能遇到的一些失败:

https://github.com/plataformatec/devise/wiki/OmniAuth%3a-Overview

于 2013-03-12T12:05:55.663 回答