我的应用程序中有两个载波上传器。ImageUploader 用于在本地上传,ImageRemoteUploader 用于使用雾上传到 Amazon S3 存储。ImageUploader 的存储设置为:file
,ImageRemoteUploader 的存储设置为:fog
。此设置工作正常,但是当我开始设置我的 rspec 测试时,情况发生了变化。
当我在测试期间将 ImageRemoteUploader 更改为使用:file
存储时,就会出现问题。我在雾初始化文件中执行此操作。文件
/config/initializers/fog.rb如下所示:
CarrierWave.configure do |config|
if Rails.env.test?
config.storage = :file
config.enable_processing = false
else
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => 'XXXXXXXX', # required
:aws_secret_access_key => 'XXXXXX', # required
:region => 'XXXX' # optional, defaults to 'us-east-1'
}
config.fog_directory = 'xxx' # required
config.fog_public = true
end
end
当我这样做时,我得到一个ArgumentError is not a recognized storage provider
载波异常。当我使用雾凭据(我没有将 config.storage 设置为 :file)时,测试按预期工作。
Carrierwave 0.7.1、Rails 3.2.8、Ruby 1.9.3、Rspec 2.10
谢谢。