1

「ArgumentError-ActionController:ExceptionCaught」というエラーメッセージが表示されます

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つの引数のみを取得するように何を変更する必要がありますか?これは、FoursquareOmniauth戦略の実装に固有のものです。

4

1 に答える 1

0

への呼び出しにsuperは 6 つの引数が含まれています (と:foursquareの間は新しい)。継承元のクラスのコンストラクターは、渡す引数を通知する必要があります。appconsumer_key

于 2011-02-25T07:51:13.427 に答える