【问题标题】:Unicorn and omniauth-facebook - uninitialized constant OmniAuthUnicorn 和 omniauth-facebook - 未初始化的常量 OmniAuth
【发布时间】:2013-05-20 06:32:41
【问题描述】:

所以我试图让omniauth-facebook 在我的生产环境中工作。它使用 POW 在我的机器上本地运行良好。

我的产品环境是带有 nginx/unicorn 的 ubuntu,代码是 Rails 3.2.13,来自 unicorn 的错误是:

E, [2013-05-20T15:51:13.900829 #8737] ERROR -- : uninitialized constant OmniAuth (NameError)
/home/web/apps/****/releases/20130520041958/config/initializers/omniauth.rb:1:in `<top (required)>'

所以从我能找到的内容中,我尝试在配置块上方添加 require 'omniauth/facebook' 到我的 production.rb 文件中,现在我得到:

/home/web/apps/****/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- omniauth/facebook (LoadError)

gemfile 看起来像这样:

source 'https://rubygems.org'

gem 'rails', '3.2.13'
gem 'pg'
gem 'bcrypt-ruby', '3.0.1'
gem 'jquery-rails', '2.2.1'
gem 'omniauth-facebook'
gem 'simple_form'

初始化程序文件如下所示:

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET']
end

有什么想法吗?我在这里失踪了吗。我跟随 rails cast 360 并且正如我所说的在 POW 本地工作。

【问题讨论】:

    标签: ruby-on-rails facebook omniauth unicorn


    【解决方案1】:

    大家都明白了,

    首先我需要:

    require 'omniauth-facebook'
    

    不是

    require 'omniauth/facebook'
    

    在初始化文件和重启独角兽时停止,然后启动命令而不是重启命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多