3

我得到了这个错误Missing required arguments: aws_access_key_id, aws_secret_access_key。这看起来很奇怪,因为我已经在 initializers 文件夹中添加了carrierwave.rb。当我使用aws-sdk时,访问/密钥可以完美运行

CarrierWave.configure do |config|
  config.fog_credentials = {
    provider: "AWS",
    aws_access_key_id: ENV["PUB-KEY"],
    aws_secret_access_key: ENV["SEC-KEY"]
  }
  config.fog_directory = ENV["mybucket"] 
end
4

2 回答 2

2

这是我工作的样子:

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

对于生产,我添加了键S3_KEY和。对于开发和测试,我使用了一个文件中的初始化程序:S3_SECRETS3_BUCKET.gitignore

# .gitignore
/config/initializers/app_environment_variables.rb

并在初始化程序中

# config/initializers/app_environment_variables.rb

ENV['S3_KEY'] = "********************"
ENV['S3_SECRET'] = "**************************..."
ENV['S3_BUCKET'] = "**********-dev"
于 2012-12-31T07:55:38.673 回答
0

生产和开发配置不同。您还需要将 AWS 密钥用于开发。

我刚刚从

config/environments/production.rb

config/environments/development.rb

一切正常。

于 2014-03-08T10:06:03.453 回答