我正在尝试将我的rails 4项目连接到Azure,我使用carrierwave和fog来管理和存储图像。
这是启动服务器或控制台时出现的错误:
/Users/giulio/.rvm/gems/ruby-2.2.1@my_project/gems/fog-core-1.32.0/lib/fog/core/services_mixin.rb:12:in `new': azure is not a recognized provider (ArgumentError)
from /Users/giulio/.rvm/gems/ruby-2.2.1@my_project/gems/fog-core-1.32.0/lib/fog/storage.rb:22:in `new'
from /Users/giulio/.rvm/gems/ruby-2.2.1@my_project/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:83:in `eager_load_fog'
from /Users/giulio/.rvm/gems/ruby-2.2.1@my_project/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:96:in `fog_credentials='
from /Users/giulio/Documents/rails/my_project/config/initializers/carrier_wave.rb:7:in `block in <top (required)>'
我的gemfile:
gem 'carrierwave'
gem 'fog'
gem 'fog-azure'
Carrierwave初始化程序是:
CarrierWave.configure do |config|
if Rails.env.test?
config.storage = :file
config.enable_processing = false
else
config.storage = :fog
config.fog_credentials = Rails.application.secrets.fog_credentials.symbolize_keys
config.fog_directory = "my_directory"
config.fog_public = true
config.fog_attributes = {'Cache-Control'=>'public, max-age=315576000'}
end
end
my secrets.yml包含:
fog_credentials:
provider: 'azure'
azure_sub_id: '12a2341c-22ac-1561-5ed2-17865d910ba4'
azure_pem: '~/secret.pem'
azure_api_url: 'usnorth.management.core.windows.net'
答案 0 :(得分:1)
检查fog-azure
宝石代码我认为,雾霾只会影响&#39; Compute&#39;雾模块,而carrierwave
使用&#39;存储&#39;模块。
据此我了解fog-azure
只能用于管理服务器(即启动,停止,配置)而不能使用storage
我还找到了carrierwave-azure gem以获得载波来支持azure,我会尝试这个。