0

我有model1和model2。我需要将两个模型的图像上传到两个不同的目录中。现在我的 image_uploader 是:

class ImageUploader < CarrierWave::Uploader::Base

  include CarrierWave::RMagick

  storage :file

  def store_dir
    "uploads/images"
  end
end

model2 的图片应该存储在uploads/images2 中。我该如何定义这个?

4

2 回答 2

0

抱歉,这个问题不是很聪明。答案似乎是创建第二个上传者

rails g 上传器 model2

于 2013-03-04T10:38:53.350 回答
0

如果您的上传器之间唯一不同的是 store_dir 函数,那么您不需要创建另一个上传器(尽管您可以)。在您的上传器中,您可以访问模型,因此您可以执行以下操作:

def store_dir
    if model.class==Model1
        "upload/images1"
    elsif model.class==Model2
        "upload/images2"
    else
        "upload/images"
    end
end
于 2013-03-04T23:42:44.097 回答