Я использую рельсы 4.0.0 и рубин 2.0.0.
Когда я запускаю сервер с мастером, некоторые переменные среды не загружаются. Меня действительно беспокоит, что некоторые переменные загружаются.
foreman start -e development.env
Procfile
web: bundle exec passenger start -p $PORT -e $RAILS_ENV
worker: bundle exec rake jobs:work RAILS_ENV=$RAILS_ENV
файл development.env
S3_BUCKET=bucketname
AWS_ACCESS_KEY_ID=accesskey
AWS_SECRET_ACCESS_KEY=secretaccesskey
RAILS_ENV=development
PORT=3000
В моем файле application.rb я добавил ведение журнала, чтобы помочь отладить эту проблему.
puts "PORT is #{ENV["PORT"].inspect}"
puts "RAILS_ENV is #{ENV["RAILS_ENV"].inspect}"
puts "S3_BUCKET is #{ENV["S3_BUCKET"].inspect}"
puts "AWS_ACCESS_KEY_ID is #{ENV["AWS_ACCESS_KEY_ID"].inspect}"
puts "AWS_SECRET_ACCESS_KEY is #{ENV["AWS_SECRET_ACCESS_KEY"].inspect}"
Как только я запускаю сервер, это вывод для кода ведения журнала
23:34:52 worker.1 | PORT is nil
23:34:52 worker.1 | RAILS_ENV is "development"
23:34:52 worker.1 | S3_BUCKET is nil
23:34:52 worker.1 | AWS_ACCESS_KEY_ID is nil
23:34:52 worker.1 | AWS_SECRET_ACCESS_KEY is nil
Почему о Почему? :-(
Когда я загружаю консоль рельсов с помощью мастера, он успешно загружает переменные
foreman run -e development.env rails c
RAILS_ENV
значение «разработка», если она еще не установлена. Вы можете убедиться в этом, попробовав установитьRAILS_ENV
в другое значение. - person Wally Altman   schedule 25.06.2015