首页 > 解决方案 > 在 `validate_options' 中:缺少必需的参数:aws_access_key_id、aws_secret_access_key (ArgumentError)

问题描述

一切都很棒。直到我检查了一个新分支,现在我得到了这个错误。我使用生成 application.yml 的 figaro 来存储 aws 凭证的 env 变量。我已经成功地能够部署到 heroku 并使用我的 aws 密钥将图片等上传到我的存储桶。然后我签出一个新分支和这个错误。我什至回到了旧分支,那里的一切都很好,这个错误不会消失。我很沮丧。我什至进入终端并执行 echo $aws_access_key_id 并且我没有得到零,我得到了访问密钥。有些东西没有加起来...

fog.rb

CarrierWave.configure do |config|
  config.fog_credentials = {
    provider: 'AWS',
    aws_access_key_id: ENV['aws_access_key_id'],
    aws_secret_access_key: ENV['aws_secret_access_key'],
    region: 'us-east-1'
  }

      config.fog_directory = ENV['AWS_BUCKET']

  if Rails.env.development? || Rails.env.test?
    CarrierWave.configure do |config|
      config.storage = :file
    end
  end

  # Use AWS storage if in production
  if Rails.env.production?
    CarrierWave.configure do |config|
      config.storage = :fog
    end
  end
end

应用程序.yml

aws_access_key_id: "key"
aws_secret_access_key: "key"

标签: ruby-on-railsamazon-web-servicesenvironment-variablesfogfigaro-ruby

解决方案


推荐阅读