2

我正在将 Ryan Bates 在 Carrierwave 上的 RailsCast 扩展到多个文件上传器,每个文件上传器都应该上传到自己的 S3 存储桶。我已经有一个工作了。我的配置如下所示:

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',
    :aws_access_key_id      => '(my access key)',
    :aws_secret_access_key  => '(my secret key)'
  }
  config.fog_directory  = 'my-bucket'
  config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}
end

我的文件上传器类如下所示:

class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick
  process :resize_to_fit => [1024, 1024]
  process :quality => 70
  storage :fog
end

在我的课堂上,我打电话给

mount_uploader :image, ImageUploader

是否可以在每次上传的基础上更改 config.fog_directory?在类定义里面?别的地方?谢谢你的帮助。

4

1 回答 1

6

在您的上传器内部:

def fog_directory
  'custom-bucket'
end

请参阅此处了解可能的选项的完整列表。这几乎是所有这些。

于 2013-11-07T17:02:48.620 回答