上传器设置(carrierwave)

Setup for an uploader (carrierwave)

我按照使用宝石载波和雾的教程安装了图像上传器。现在我想添加一个额外的上传者但正在努力。

我已经生成了上传器 (rails generate uploader name)。在模型文件中,我已将上传器安装到右列 (mount_uploader :column_name, nameUploader)。在上传器中,我设置了 def extension_white_liststore_dir。我还包括(因为在教程中我做了同样的事情):

if Rails.env.production?
  storage :fog
else
  storage :file
end

现在我卡住了,我不知道在哪里设置雾的规格。也就是说,在哪里指定它应该上传到的亚马逊桶。在 carrier_wave 初始化程序中,我已经有了下面的代码。但是这段代码为我已经实现的上传器指定了上传到哪里。这些规范对于这个新的上传者来说是不同的。 Where/how 我应该为新上传者添加这些规范吗?

if Rails.env.production?   
  CarrierWave.configure do |config|
    config.fog_credentials = {
      :provider              => 'AWS',
      :aws_access_key_id     => ENV['S3_ACCESS_KEY'],
      :aws_secret_access_key => ENV['S3_SECRET_KEY'],
      :region                => ENV['AWS_REGION']
    }
    config.fog_directory     =  ENV['S3_BUCKET']
  end 
end

通过查看 this wiki page 似乎可以覆盖每个上传者的配置

class AvatarUploader < CarrierWave::Uploader::Base
  # Choose what kind of storage to use for this uploader:
  storage :fog

  # define some uploader specific configurations in the initializer
  # to override the global configuration
  def initialize(*)
    super

    self.fog_credentials = {
      :provider               => 'AWS',              # required
      :aws_access_key_id      => 'YOURAWSKEYID',     # required
      :aws_secret_access_key  => 'YOURAWSSECRET',    # required
    }
    self.fog_directory = "YOURBUCKET"
  end
end