Являются ли secret_key_base и secret_token необходимыми для производства в Rails 4.2? не Установка ни вызывает следующее сообщение об исключении:Использует ли Rails 4.2 secret_token?
Missing
secret_token
иsecret_key_base
для 'производств' среды, установить эти значения вconfig/secrets.yml
Руководство 4.2 Обновления (http://railsapps.github.io/updating-rails.html) говорит, что это:
Когда вы создаете новое приложение Rails, используя новую команду rails, создается уникальный секретный ключ и записывается в config/initializers/secret_token.rb файл.
Но такой файл не был создан, когда я создал мое приложение, и нет ссылки на secret_token в конфигурации/secrets.yml
Я предполагаю, что сообщение об ошибке неправильно, и что только secret_key_base необходим. Когда я запускаю свое приложение на производстве на своей машине dev, он начинается с secret_key_base, но в Engineyard установка secret_key_base (через переменную окружения) не работает. Я все еще получаю ошибку.
Кроме того, это может ответить на некоторые ваши вопросы о secret_token vs. secret_key_base: http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#action-pack –
Спасибо за быстрый ответ. Я не получил файл secret_token.rb, когда я сгенерировал приложение, либо (поэтому я предполагаю, что он больше не используется), и мой автоматически сгенерированный файл secrets.yml выглядит так же, как и то, что вы разместили здесь. Что касается не поддержки ENV ["SECRET_KEY_BASE"] из коробки, могу ли я использовать драгоценный камень dotenv, а не помещать его в файл? –
Камни dotenv не будут работать на нашей платформе, потому что у нас есть собственные скрипты-оболочки, которые мы используем для установки переменных среды до выполнения сервера приложений (например, Unicorn). Поэтому, пока он будет работать в разработке на вашей локальной машине, в процессе производства вам необходимо изменить/data/ /shared/config/env.custom, который является файлом, который ДОЛЖЕН быть изменен пользовательским шеф-поваром, поскольку все файлы должны обрабатываться поскольку одноразовое и конфигурационное управление считается наилучшей/необходимой практикой. –