3

ユーザーとブックの 2 つのモデルがあります。ユーザーにはアップロードするアバターがあり、ブックにはアップロードするカバーがあります。画像のアップロードについて railscast を読みましたが、さまざまな種類の画像にどのようにアプローチすればよいかわかりません。(この場合、User はアバター、Book はカバー)

フォーラム用のオープン ソース コードをいくつかチェックアウトしました。AvatarUploader と、投稿に写真をアップロードする PhotoUploader を使用します。

では、写真とアバターの両方に 1 つのアップローダーを使用する必要がありますか (そしてどのように?)、それともそれぞれに 2 つのアップローダーを作成するだけですか? ありがとうございました !

4

1 に答える 1

7

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
于 2013-04-22T14:34:28.420 に答える