我正在尝试设置 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 文件中的拼写错误。
我是一名优秀的程序员,十分优秀!