我有model1和model2。我需要在两个不同的目录中上传两个模型的图像。现在我的image_uploader是:
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :file
def store_dir
"uploads/images"
end
end
model2的图像应存储在uploads / images2中。我该如何定义?
答案 0 :(得分:0)
对不起,问题不是很聪明。答案似乎是用
创建第二个上传者rails g uploader model2
答案 1 :(得分:0)
如果你的上传者之间唯一不同的是store_dir函数,那么你不需要创建另一个上传器(尽管你可以)。在您的上传器中,您可以访问该模型,因此您可以执行以下操作:
def store_dir
if model.class==Model1
"upload/images1"
elsif model.class==Model2
"upload/images2"
else
"upload/images"
end
end