1

我们在 Rails 3.2.7 项目中使用 Carrierwave。目前我们正在迁移到我们自己的 Openstack Swift 安装,并希望继续使用 Carrierwave。

通过查看 Carrierwave 文档,我可以看到它可以与使用 Fog gem 的 Rackspace 一起使用。不过,我找不到任何文档如何使用 Openstack Swift 安装进行设置。

有没有办法在我自己的 Openstack Swift 安装中使用 Carrierwave 和 Fog?

4

1 回答 1

1

以下是我们解决此问题的方法:

Fog Gem 没有原生支持使用 Swift 安装处理存储。我希望有一天会有。

但是您可以使用“HP”作为 Carrierwave 的提供者。HP-Storage 与 Rackspace 一样,基于 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
于 2013-01-15T13:15:05.213 回答