Rails - Paperclip无法加载s3存储桶名称

时间:2015-05-21 04:35:57

标签: ruby-on-rails-4 paperclip

我收到以下错误ArgumentError,缺少必需:bucket选项

看起来像Paperclip无法加载网址的错误,因为它无法找到:存储桶名称

我为开发环境编写了硬编码的s3凭据。一切都很好。为了使应用程序更安全,我移动了它。

config\initializers\dev_config.rb
ENV.update YAML.load_file("#{Rails.root}/config/dev_vars.yml")[Rails.env]

config\dev_vars.yml
development:
  S3_BUCKET_NAME: "####"
  AWS_ACCESS_KEY_ID: "#####"
  AWS_SECRET_ACCESS_KEY: "####"

config/environments/development.rb
config.paperclip_defaults = {
 :storage => :s3,
 :s3_credentials => {
  :bucket => ENV['S3_BUCKET_NAME'],
  :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
  :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
 }
}

我似乎无法弄清楚出了什么问题

  • 我已检查过YAML文件格式正确
  • 在控制台中运行ENV['S3_BUCKET_NAME']会给出正确的名称

有人可以帮忙吗?

编辑 -

我所做的只是硬编码桶名:bucket => "name"这已经奏效,但出于安全原因我不想硬编码s3信息。

是否存在加载其他变量而不是存储桶名称的原因?

0 个答案:

没有答案