ruby-on-rails – Carrierwave / Fog / S3“不是公认的存储提供
发布时间:2020-12-16 19:31:37 所属栏目:百科 来源:网络整理
导读:我有一个使用Carrierwave进行文件上传的Rails应用程序.它一直工作正常,但我想开始使用Amazon S3进行图像存储.我收到此错误: ArgumentError ( is not a recognized storage provider): app/controllers/salons_controller.rb:52:in `update' 我已经确定我有C
我有一个使用Carrierwave进行文件上传的Rails应用程序.它一直工作正常,但我想开始使用Amazon S3进行图像存储.我收到此错误:
ArgumentError ( is not a recognized storage provider): app/controllers/salons_controller.rb:52:in `update' 我已经确定我有Carrierwave和Fog的最新宝石.这是在我的Gemfile中: gem 'carrierwave' gem 'aws-sdk' gem 'fog' fog.rb看起来像: CarrierWave.configure do |config| config.fog_credentials = { :provider => 'AWS',:aws_access_key_id => 'MYACCESSKEY',:aws_secret_access_key => 'MYSECRETKACCESSKEY',:region => 'us-east-1' } config.fog_directory = 'andrunix' config.fog_public = true config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} 结束 Uploader类看起来像: class SalonImageUploader < CarrierWave::Uploader::Base include CarrierWave::RMagick storage :fog def store_dir # "andrunix" is the bucket name on S3 "andrunix/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end end 如果我将存储更改回’file’,它可以正常工作.将存储设置为“雾”会生成此错误. 解决方法
好吧,我是个白痴. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |