PEF*_*PEF 7 ruby-on-rails amazon-s3 carrierwave
我想在我的S3存储桶中有不同的文件夹,以便从开发环境中清除生产数据库.我不知道如何做到这一点,这是我在carrierwave初始化器中提出的骨架:
if Rails.env.test? or Rails.env.development?
CarrierWave.configure do |config|
//configure dev storage path
end
end
if Rails.production?
CarrierWave.configure do |config|
//configure prod storage path
end
end
Run Code Online (Sandbox Code Playgroud)
两种选择:
选项1:您不关心按型号ID组织文件
在您的carrierwave.rb初始化程序中:
Rails.env.production? ? (primary_folder = "production") : (primary_folder = "test")
CarrierWave.configure do |config|
# stores in either "production/..." or "test/..." folders
config.store_dir = "#{primary_folder}/uploads/images"
end
Run Code Online (Sandbox Code Playgroud)
选项2:您是否关心按型号ID(即用户ID)组织文件
在您的上传器文件中(即image_uploader.rb在uploaders目录中):
class ImageUploader < CarrierWave::Uploader::Base
...
# Override the directory where uploaded files will be stored.
def store_dir
Rails.env.production? ? (primary_folder = "production") : (primary_folder = "test")
# stores in either "production/..." or "test/..." folders
"#{primary_folder}/uploads/images/#{model.id}"
end
...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4076 次 |
| 最近记录: |