【发布时间】:2011-11-01 17:54:48
【问题描述】:
我在我的 Rails 应用程序中使用 Carrierwave 来处理图片上传。当我将上传器配置为在本地存储文件时,一切正常。当我要求上传到 Rackspace 的云文件服务时,问题就来了。上传效果很好,我可以在控制面板中看到文件。问题是 Carrierwave 在上传器上返回一个 URL,就好像文件存储在本地一样。即:@foo.uploader.url 看起来像 /User/bar/Code/app/public/uploads/yeah.jpeg 而不是 http://cloudcloud.com/yeah.jpg。
我哪里出错了?
# config/initializers/carrier_wave.rb
CarrierWave.configure do |config|
config.storage = :fog
config.fog_credentials = {
:provider => 'Rackspace',
:rackspace_username => 'foo',
:rackspace_api_key => '0f0f0f0f0f0f0f'
}
config.fog_directory = 'development-images'
end
# app/uploaders/foo_uploader.rb
class FooUploader < CarrierWave::Uploader::Base
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 carrierwave