【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にリサイズするという意味。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


8 + 6 =