设计omniauth集成问题

Yek*_*sek 9 ruby-on-rails devise omniauth

我看过railscast http://railscasts.com/episodes/236-omniauth-part-2

并尝试实现代码,一切都在开发环境中运行良好.当我使用rails s -e production执行时,我得到以下错误

omn​​iauth_callbacks_controller.rb:1:未初始化的常量Devise :: OmniauthCallbacksController(NameError)

导致错误的代码段在这里

class Users :: OmniauthCallbacksController <Devise :: OmniauthCallbacksController

我的Gemfile


gem 'aws-s3'
gem 'paperclip'
gem 'rails', '3.0.0'
gem 'pg'
gem 'gravatar_image_tag', '0.1.0'
gem 'will_paginate', '3.0.pre2'
gem 'devise'
gem 'omniauth'
gem 'nifty-generators'

Run Code Online (Sandbox Code Playgroud)

我的Gemfile.lock文件(只是相关的)


    devise (1.1.5)
      bcrypt-ruby (~> 2.1.2)
      warden (~> 1.0.2)

    nokogiri (1.4.4)
    oa-basic (0.1.6)
      multi_json (~> 0.0.2)
      nokogiri (~> 1.4.2)
      oa-core (= 0.1.6)
      rest-client (~> 1.6.0)
    oa-core (0.1.6)
      rack (~> 1.1)
    oa-enterprise (0.1.6)
      net-ldap (~> 0.1.1)
      nokogiri (~> 1.4.2)
      oa-core (= 0.1.6)
      pyu-ruby-sasl (~> 0.0.3.1)
      rubyntlm (~> 0.1.1)
    oa-oauth (0.1.6)
      multi_json (~> 0.0.2)
      nokogiri (~> 1.4.2)
      oa-core (= 0.1.6)
      oauth (~> 0.4.0)
      oauth2 (~> 0.1.0)
    oa-openid (0.1.6)
      oa-core (= 0.1.6)
      rack-openid (~> 1.2.0)
      ruby-openid-apps-discovery
    oauth (0.4.4)
    oauth2 (0.1.0)
      faraday (~> 0.5.0)
      multi_json (~> 0.0.4)
    omniauth (0.1.6)
      oa-basic (= 0.1.6)
      oa-core (= 0.1.6)
      oa-enterprise (= 0.1.6)
      oa-oauth (= 0.1.6)
      oa-openid (= 0.1.6)
Run Code Online (Sandbox Code Playgroud)

我的development.rb文件


SampleApp::Application.configure do
  config.cache_classes = false
  config.whiny_nils = true
  config.consider_all_requests_local       = true
  config.action_view.debug_rjs             = true
  config.action_controller.perform_caching = false
  config.action_mailer.raise_delivery_errors = false
  config.active_support.deprecation = :log
  config.action_dispatch.best_standards_support = :builtin
  config.action_mailer.default_url_options = { :host => 'localhost:3000' }
end
Run Code Online (Sandbox Code Playgroud)

我的production.rb文件


SampleApp::Application.configure do
  config.cache_classes = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.action_dispatch.x_sendfile_header = "X-Sendfile"
  config.serve_static_assets = false
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
end
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

ecl*_*eel 5

在设计1.2中,它支持直接与OmniAuth集成.

检查OmniAuth的设计维基