2010-12-20 22 views
2

我已經在gemfile中包含了oauth2和authlogic-oauth2,因爲我想使用它們並試圖啓動服務器。它不啓動,並給我的錯誤:服務器將無法啓動使用authlogic-oauth2

/Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails.rb:44:in `configuration': undefined method `config' for nil:NilClass (NoMethodError) 
     from /Library/Ruby/Gems/1.8/gems/authlogic_oauth2-1.1.2/lib/authlogic_oauth2.rb:14 
     from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' 
     from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' 
     from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each' 
     from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require' 
     from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each' 
     from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require' 
     from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require' 
     from /Users/arkidmitra/Documents/qorm_bzar/buyzaar/config/application.rb:7 
     from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28:in `require' 
     from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28 
     from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap' 
     from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27 
     from script/rails:6:in `require' 
     from script/rails:6 

我使用Rails 3.0.3和Ruby 1.8.7。此外,服務器似乎開始罰款,直到我加入

gem "authlogic-oauth2" 

到Gemfile。

+0

顯示你的rails配置文件 – wizztjh 2010-12-20 05:27:21

+0

你的意思是什麼文件由rails配置文件?此外,服務器似乎開始罰款,直到我將行gem「authlogic-oauth2」添加到Gemfile。告訴我你需要看什麼文件 – 2010-12-20 07:34:23

回答

1

安德魯不再關心authlogic-oauth2。對於更新的寶石嘗試https://github.com/robdimarco/authlogic_oauth2

Here the authlogic_oauth2.rb had been changed. 
require File.dirname(__FILE__) + "/authlogic_oauth2/version" 
require File.dirname(__FILE__) + "/authlogic_oauth2/oauth2_process" 
require File.dirname(__FILE__) + "/authlogic_oauth2/acts_as_authentic" 
require File.dirname(__FILE__) + "/authlogic_oauth2/session" 
require File.dirname(__FILE__) + "/authlogic_oauth2/helper" 
require File.dirname(__FILE__) + "/oauth2_callback_filter" 

ActiveRecord::Base.send(:include, AuthlogicOauth2::ActsAsAuthentic) 
Authlogic::Session::Base.send(:include, AuthlogicOauth2::Session) 
ActionController::Base.helper AuthlogicOauth2::Helper 

# Throw callback rack app into the middleware stack 
if defined?(ActionController::Metal) 
    module AuthlogicOAuth2 
    class Railtie < Rails::Railtie 
     initializer :load_oauth2_callback_filter do |app| 
     app.config.middleware.use(Oauth2CallbackFilter) # Rails >= 3.0 
     end 
    end 
    end 
else 
    ActionController::Dispatcher.middleware.use(Oauth2CallbackFilter) # Rails < 3.0 
end 

希望這可以解決您的問題。