我们在Rails 3.2.7项目中使用Carrierwave。目前我们正在迁移到我们自己的Openstack Swift安装,并希望继续使用Carrierwave。
通过查看Carrierwave文档,我可以看到它可以使用Fog gem与Rackspace一起使用。不过,我找不到任何文档如何使用Openstack Swift安装进行设置。
有没有办法在我自己的Openstack Swift安装中使用Carrierwave和Fog?
答案 0 :(得分:1)
以下是我们解决此问题的方法:
Fog Gem没有本机支持使用Swift安装来处理存储。 我希望有一天会有。
但您可以使用“HP”作为Carrierwave的提供商。与Rackspace一样,HP-Storage基于Openstack Swift,支持使用Fog Gem处理存储。它并不完美,但有效:
CarrierWave.configure do |config|
config.storage = :fog
config.fog_credentials = {
:provider => 'HP',
:hp_secret_key => "swift_password",
:hp_account_id => "swift_container",
:hp_tenant_id => "swift_tenant_id'",
:hp_auth_uri => "swift_url"
:hp_use_upass_auth_style => true
}
config.fog_directory = "swift_container"
end