我得到这个错误Missing required arguments: aws_access_key_id, aws_secret_access_key
。 这似乎不可思议,因为我已经在初始化文件夹中添加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
下面是我的工作一个是这样的:
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_SECRET
和S3_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"
生产和开发的结构是不同的。 你需要把AWS键在发展了。
我只是复制AWS键从
config/environments/production.rb
至
config/environments/development.rb
和一切工作正常。