Я использую Carrierwave в своем приложении Rails для обработки загрузки изображений. Когда я настраиваю загрузчик для локального хранения файлов, все прекрасно работает. Проблема возникает, когда я прошу загрузить сервис облачных файлов 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