Railsの画像アップロードのGemにはCarrierWaveとPaperclipの両方が使用できる。これらの違いを調べたのでまとめる。
どっちを使えばいいの?
画像アップロードに拘りたいならCarrierWave、シンプルな機能を求めているならPaperclipを使用する。ちなみに、「Rails Tutrial」や「パーフェクトRuby on Rails」ではCarrierWaveを使用している。
どんなところが違うの?
- CarrierWaveはRails以外にもSinatraなどのRubyフレームワークでも動作する。
- CarrierWaveでは添付ファイルとその処理をするクラスが異なる。
- CarrierWaveではRMagickを使うことができ、凝ったことができる。
- Paperclipでは画像保存ディレクトリがバージョン毎に分かれている。
- PaperclipではPDFのアップロードにも対応している。
- Paperclipではアップロード時に自動的に縮小画像やサムネイルを生成してくれる。