Не могу получить доступ к переменной окружения из инициализатора Rails 3.1 - PullRequest
0 голосов
/ 16 сентября 2011

У меня есть файл инициализатора, который выглядит следующим образом:

  Rails.application.config.middleware.use OmniAuth::Builder do  
    provider :facebook, '000000000000000', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
  end

И мое приложение работает.

Я не хочу жестко кодировать учетные данные, поэтому я изменил его на:

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

Я установил соответствующие переменные окружения в bash и перезапустил мое приложение.

Когда я использую консоль rails, ENV ['FACEBOOK_KEY'] и ENV ['FACEBOOK_SECRET'] выводят правильные значения.

Но мое приложение больше не работает, я получаю ответ с "Отсутствует параметр client_id" при использовании omniauth.

{
   "error": {
      "message": "Missing client_id parameter.",
      "type": "OAuthException"
   }
}

Я в замешательстве.

Isnэто правильный способ доступа к переменным окружения?В инициализаторах это работает по-другому?

Как получить доступ к переменным среды из инициализатора?

Кстати, я использую Ubuntu 11.04.

Спасибо

1 Ответ

0 голосов
/ 16 октября 2011

Что-то в этом блоке отменяет ENV и env.Это всенаправленный путь:

https://github.com/intridea/omniauth/wiki/Dynamic-Providers

...