omni auth rails gem ArgumentError - PullRequest
       5

omni auth rails gem ArgumentError

1 голос
/ 25 февраля 2011

Я получаю сообщение об ошибке «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

my # config / initializers / omniauth.rb содержит:

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

Что я должен изменить, чтобы получить только 5 аргументов для 5? Это относится к реализации Омниавтской стратегии Foursquare.

1 Ответ

0 голосов
/ 25 февраля 2011

Ваш вызов super содержит 6 аргументов (:foursquare между app и consumer_key является новым). Конструктор класса, от которого вы наследуете, должен сказать, какие аргументы передать.

...