我正在尝试安装aws,以便可以使用它为我的rails应用程序存储图像。当我试图推到Heroku时,出现了以下错误:
ArgumentError: is not a recognized provider
这是我的carrierwave.rb代码:
if Rails.env.production?
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => ENV['S3_ACCESS_KEY'],
:aws_secret_access_key => ENV['S3_SECRET_KEY']
}
config.fog_credentials = ['S3_BUCKET']
end
end
这是picture_uploader.rb文件中的代码
if Rails.env.production?
storage :fog
else
storage :file
end
最后这是我的heroku配置
DATABASE_URL: postgres://<url>
LANG: en_US.UTF-8
RACK_ENV: production
RAILS_ENV: production
RAILS_SERVE_STATIC_FILES: enabled
S3_ACCESS_KEY: <access_key>
S3_BUCKET: <bucket_name>
S3_SECRET_KEY: <secret_key>
SECRET_KEY_BASE: <key>
我漏掉了什么,但就是找不到。
最佳答案
我一发出去就发现了问题。在carrierWave.rb文件中输入错误。
关于ruby-on-rails - 上载到Heroku(AWS)时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33273831/