讃岐小僧のEngineering×Techメモ

未経験から挑戦中のプログラミングや、趣味の野球や狩猟について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

【Rails】画像アップロードのためCarrierWaveを導入する

イメージアップロードのための作業(自分用のメモ)

なんでブログに書くねん!!
はい、書きます。

Gemを導入する

gem 'carrierwave'
gem 'mini_magick'

bundle installを実行する

bundle install

アップローダーを作成する

rails g uploader imageコマンドを実行する

コマンドラインに以下が表示される

$ rails g uploader image
create app/uploaders/image_uploader.rb

app/uploadersディレクトリ配下にimage_uploader.rbが作成される。

image_uploaderをマウントする

モデルを編集しimage_uploaderをマウントする記述を行う。

作業ファイル:app/models/message.rb

mount_uploader :image, ImageUploader

MiniMagick経由で画像のリサイズを行えるようする

5行目に記述されている「include CarrierWave::MiniMagick」のコメントアウトを外す

任意の箇所に「process resize_to_fit: [400, 400]」を追記 resize_to_fitは縦横比を維持したまま、width, heightを400pxにリサイズするという意味。