簡體   English   中英

在Rails中為一些模型使用一個圖像上傳器(carrierwave)?

[英]Use one uploader of image (carrierwave) for several models in Rails?

在這里,我有兩個模型:用戶和書籍用戶有一個要上傳的頭像,而書有一個要上傳的封面我已經閱讀了關於上傳圖像的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM