Хеш ENV будет иметь значения из системной среды, начиная с того, когда был запущен процесс rails.
Они могут быть установлены в командной строке до запуска сервера или программы. Например, в bash:
export MONGOID_USERNAME='username'
Они хороши только для жизни вашей оболочки, если вы не добавите их в свой профиль, но вполне вероятно, что ваш веб-сервер не будет использовать этот профиль, поэтому он полезен только для локальной разработки.
Их также можно установить, например, в Apache с помощью SetEnv. Например:
<Location /app >
SetEnv MONGOID_HOST 'localhost'
SetEnv MONGOID_PORT '8883'
SetEnv MONGOID_USERNAME 'username'
</Location>
Это может быть везде, где SetEnv является допустимым в вашей конфигурации apache, и это тот же контекст, в котором живет ваше приложение.
Что касается ваших комментариев о передовой практике, некоторые люди помещают пример файла конфигурации yml в систему управления версиями и игнорируют файлы config/*.yml
из системы управления версиями. При клонировании репозитория копирование и исправление примеров с правильными значениями является частью настройки, например, запуска rake tmp: create для создания структуры папок tmp.