1

我收到错误消息“ArgumentError - ActionController: Exception Caught”

wrong number of arguments (6 for 5)

lib/omniauth/strategies/foursquare.rb:19:in `initialize'
lib/omniauth/strategies/foursquare.rb:19:in `initialize'

我无法理解哪里有 6 对 5 个参数以及我需要修改什么:

def initialize(app, consumer_key = nil, consumer_secret = nil, options = {}, &block)
client_options = {:site => 'http://foursquare.com'}

auth_path = (options[:sign_in] == false) ? '/oauth/authorize' : '/oauth/authenticate'
auth_path = "/mobile#{auth_path}" if options[:mobile]

client_options[:authorize_path] = auth_path

super(app, :foursquare, consumer_key, consumer_secret, client_options, &block)
end

我的 # config/initializers/omniauth.rb 包含:

Rails.application.config.middleware.use OmniAuth::Builder do
              provider :foursquare, '[key1]', '[key2]'
 end

我应该修改什么以仅获得 5 的 5 个参数?这特定于 Foursquare Omniauth 策略的实施。

4

1 回答 1

0

您的调用super包含 6 个参数(:foursquarebetween appandconsumer_key是新的)。您继承的类的构造函数应该告诉您要传递哪些参数。

于 2011-02-25T07:51:13.427 回答