所以我想让omniauth-facebook在我的生产环境中工作。它使用POW在我的机器上本地工作正常。
我的prod env是带有nginx / unicorn的ubuntu,代码是Rails 3.2.13,来自独角兽的错误是:
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
任何人的想法?我在这里失踪了。我跟着导演演员360,正如我所说的在战俘本地工作。
答案 0 :(得分:2)
大家都明白了,
首先我需要:
require 'omniauth-facebook'
不
require 'omniauth/facebook'
初始化文件中的和重启unicorn时停止,然后启动命令而不是重启命令。