当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 在Rails中为一些模型使用一个图像上传器(carrierwave)?

来源:互联网 收集:自由互联 发布时间:2021-06-23
这里我有两个模型:用户和书 用户有上传的头像,而Book有上传的封面 我已经阅读了有关上传图片的railscast,但我不知道应该如何处理不同类型的图片? (在这种情况下,用户的头像和书的
这里我有两个模型:用户和书
用户有上传的头像,而Book有上传的封面
我已经阅读了有关上传图片的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
网友评论