Я использую paperclip, fog, figaro gems для загрузки изображений на amazon S3. В производстве прекрасно работает, когда я вручную вводил переменные env в герою.set rails fog gem application.yml ключи для среды разработки
Но в разработке он предположительно использует env из файла aplication.yml (добавлен в .gitignore). Он не использует этот файл, так как в разработке ENV [], помещенный в application.yml, не существует.
Я следил за несколькими учебниками для этого, и во всех них я понимаю, что ENV [], введенный в applyaction.yml, должен использоваться. Я ошибаюсь? Я что-то упускаю? Нужно ли мне что-то еще? Я прочитал, что я могу ввести ENV [] путем экспорта вручную набрав, но мне нужно знать, если это не достаточно, чтобы записать их на application.yml
#config/application.yml
MAPS_API_KEY: 1234googlemapapikey56788
SECRET_KEY_BASE: ab1234567longkeyy2979127401411124
AWS_ACCES_KEY_ID: ACCESSKEYID1234567
AWS_SECRET_ACCESS_KEY: SECRETKEY123456788/jaa\12345
AWS_REGION: eu-west-1
S3_HOST_NAME: s3-eu-west-1.amazonaws.com
development:
FOG_DIRECTORY: example-dev
S3_BUCKET_NAME: example-dev
production:
FOG_DIRECTORY: example-production
S3_BUCKET_NAME: example-production
в разработке и производстве я использую тот же код:
#config/environments/development.rb && config/environments/production.rb
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
в производстве работает отлично, и в развитии я получаю ошибки как: development.rb: 54: в `принести": ключ не найден: "AWS_ACCESS_KEY_ID" (KeyError)
# config/initializers/paperclip.rb
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'