2017-01-12 15 views
0

Я пытаюсь развернуть мое приложение rails, которое использует mongoid, на мой удаленный сервер.Rails, Mongoid, используя переменную среды для базы данных config throws NoMethodError

В моей mongoid.yml я добавил это:

hosts: 
    - <%= ENV['MONGOSERVER_PORT_27017_TCP_ADDR'] %>:27017 

Когда я запускаю мой Capistrano, он бросает мне эту ошибку:

SSHKit::Command::Failed: rake exit status: 1 
rake stdout: rake aborted! 
NoMethodError: undefined method `split' for :"27017":Symbol 

ли, что добавление подчеркивания делает это ошибка происходит?

ответ

1

Похоже переменной среды равна нулю, так что это просто чтение:

hosts: 
    - :27017 

Он думает, что хозяин является символом, который бросает его.

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

hosts: 
    - "<%= ENV['MONGOSERVER_PORT_27017_TCP_ADDR'] %>:27017" 
1

Линия разбираемый, как - :27017, который создает Symbol, а не на строку URL. Вероятно, это связано с тем, что переменная ENV не определена; убедитесь, что вы правильно определили его.

Чтобы ответить на вопрос «добавляет ли подчеркивания эту ошибку?»: Скорее всего нет. Подчеркивания действительны в переменных среды.