Во-первых, я пытался решить эту проблему в течение нескольких дней и видел и пробовал много сообщений в стеке. Моя проблема сохраняется. Очевидно, что мое приложение отлично работает локально, но когда я захожу на сайт после успешного развертывания в Heroku, я получаю это сообщение в верхнем левом углу страницы, и больше ничего, что немного усложняет устранение неполадок. После выполнения этого руководства по развертыванию в Ubuntu в Digital Ocean, кажется, когда дела пошли плохо . Я пробовал ответы из здесь и здесь, а также несколько других подобных сообщений, но НИЧЕГО не сработало. Первоначально я получал сообщение об отсутствующих аргументах от Heroku, но последовал другим предложениям, которые, казалось, исправили это, но привели меня к текущей проблеме. Не уверен, как долго я смогу прятаться за оправданием «Я Ruby Noob», но после года развертывания, похоже, это стало смыслом моего существования. Я подозреваю, что это как-то связано с настройкой переменных ENV, но никакие исправления мне пока не помогли. Reveal Variables были установлены вручную на Heroku. Файлы secrets.yml, application.yml и database.yml находятся в моем .gitignore.
Некоторые другие заслуживающие внимания элементы — я использую figaro для управления переменными среды. У меня есть корзина S3 для хранения изображений, настроенных с использованием Railscast Pro#383, Carrierwave и обработки загрузки тумана. Опять же, это работало в какой-то момент ранее.
Кто-нибудь получил эту ошибку или знает, как я могу решить ее остро?
config/initializers/carrierwave.rb
CarrierWave.configure do |config|
config.root = Rails.root.join('tmp')
config.cache_dir = 'carrierwave'
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"], # required
aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"] # required
}
config.fog_directory = ENV["AWS_S3_BUCKET_NAME"] # required
end
config/application.yml
production:
AWS_S3_BUCKET_NAME: 'my_aws_secret_bucket_name_from_s3_manually_installed_on_heroku'
AWS_ACCESS_KEY_ID: 'my_aws_secret_access_key_id_from_s3_manually_installed_on_heroku'
AWS_SECRET_ACCESS_KEY: 'my_aws_secret_access_key_from_s3_manually_installed_on_heroku'
SECRET_KEY_BASE: 'my_secret_key_base_generated_from_doing_rake_secrets'
конфиг/secrets.yml
development:
secret_key_base: some_random_#_for_dev
test:
secret_key_base: some_random_#_for_test
# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
.gitignore
# Ignore application configuration
config/application.yml
# Ignore secrets configuration
config/secrets.yml
# Ignore database configuration
config/database.yml