2016-02-10 3 views
1

Я новичок в рельсах.Невозможно развернуть в герою при использовании несущей волны и S3

Прямо сейчас, используя учебник для рубинов и рельсов. В одном из разделов мы используем несущую волну и AWS S3 для хранения фотографий.

, когда я развернуть в Heroku, есть ошибки, как это:

"ArgumentError: Отсутствуют необходимые аргументы: aws_access_key_id, aws_secret_access_key"

я пишу на carrir_wave.rb как следующие:

if Rails.env.production? 
    CarrierWave.configure do |config| 
    config.fog_credentials = { 
     # Configuration for Amazon S3 
     :provider    => 'AWS', 
     :aws_access_key_id  => ENV['******************'], 
     :aws_secret_access_key => ENV['*************************'] 
     } 
    config.fog_directory  = ENV['*******************'] 
    end 
end 

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

Я устанавливал удостоверение на Heroku через:

$ heroku config:set S3_ACCESS_KEY=<access key> 
$ heroku config:set S3_SECRET_KEY=<secret key> 
$ heroku config:set S3_BUCKET=<bucket name> 

Я действительно ценю с какой-либо помощи.

ответ

0

Создайте несколько carrierwave.rb filr в конфигурации папки/инициализаторов и месте следующего фрагмента кода в файле carrierwave.rb

CarrierWave.configure do |config| 
    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['S3_BUCKET_NAME']    # required 
end 

и разместить свои значения для следующих ключей в некоторых .env файла в папке проекта 1) AWS_ACCESS_KEY_ID 2) AWS_SECRET_ACCESS_KEY 3) S3_BUCKET_NAME

Затем повторно запустить сервер от терминала

Смежные вопросы