2011-02-25 53 views
1

我收到錯誤消息「引發ArgumentError - ActionController的:被捕獲的異常」全方位AUTH軌寶石引發ArgumentError

wrong number of arguments (6 for 5) 

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

我無法理解那裏有六打五爭論什麼,我需要修改:

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 

我#配置/初始化/ omniauth.rb包含:

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

什麼SH我應該修改5個參數嗎?這是針對Foursquare Omniauth戰略的具體實施。

回答

0

您致電super包含6個參數(:foursquare之間appconsumer_key是新的)。你繼承的類的構造函數應該告訴你傳遞什麼參數。