3

这里我有两个模型:用户和图书用户有一个头像要上传,图书有一个封面要上传我已经阅读了关于上传图片的 railscast,但我不知道我应该如何处理不同类型的图片?(在这种情况下,用户的头像和书籍的封面)

我已经检查了一些论坛的开源代码。它使用 AvatarUploader 和 PhotoUploader,用于在帖子中上传照片。

那么,我应该为照片和头像使用一个上传器(以及如何?)还是只为每个创建 2 个上传器?谢谢 !

4

1 回答 1

7

使用两个单独的上传器绝对没问题,即使它们几乎相同。无论如何,它们都可以扩展CarrierWave::Uploader::Base,它只是让您的对象保持美观且命名整齐。

如果您有一些想要在两者中使用并且不想重复的共享功能,您总是可以编写自己的类来扩展CarrierWave::Uploader::Base和继承上传者中的那些!

class MyImageUploaderBase < CarrierWave::Uploader::Base
  def extension_white_list
    %w(jpg jpeg gif png)
  end
end

class AvatarUploader < MyImageUploaderBase 
  ...
end
于 2013-04-22T14:34:28.420 回答