上传器设置(carrierwave)
Setup for an uploader (carrierwave)
我按照使用宝石载波和雾的教程安装了图像上传器。现在我想添加一个额外的上传者但正在努力。
我已经生成了上传器 (rails generate uploader name
)。在模型文件中,我已将上传器安装到右列 (mount_uploader :column_name, nameUploader
)。在上传器中,我设置了 def extension_white_list
和 store_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
我按照使用宝石载波和雾的教程安装了图像上传器。现在我想添加一个额外的上传者但正在努力。
我已经生成了上传器 (rails generate uploader name
)。在模型文件中,我已将上传器安装到右列 (mount_uploader :column_name, nameUploader
)。在上传器中,我设置了 def extension_white_list
和 store_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