这里我有两个模型:用户和图书用户有一个头像要上传,图书有一个封面要上传我已经阅读了关于上传图片的 railscast,但我不知道我应该如何处理不同类型的图片?(在这种情况下,用户的头像和书籍的封面)
我已经检查了一些论坛的开源代码。它使用 AvatarUploader 和 PhotoUploader,用于在帖子中上传照片。
那么,我应该为照片和头像使用一个上传器(以及如何?)还是只为每个创建 2 个上传器?谢谢 !
这里我有两个模型:用户和图书用户有一个头像要上传,图书有一个封面要上传我已经阅读了关于上传图片的 railscast,但我不知道我应该如何处理不同类型的图片?(在这种情况下,用户的头像和书籍的封面)
我已经检查了一些论坛的开源代码。它使用 AvatarUploader 和 PhotoUploader,用于在帖子中上传照片。
那么,我应该为照片和头像使用一个上传器(以及如何?)还是只为每个创建 2 个上传器?谢谢 !
使用两个单独的上传器绝对没问题,即使它们几乎相同。无论如何,它们都可以扩展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