#Active Storageとは?
ファイルアップロード機能を簡単に実装できるGemです。
ActiveStorageを導入しただけではファイルをアップロードできるようになるだけです。
保存した画像を画像を加工してから(サイズや色など)表示できるようにするには以下の画像加工ツールとgemが必要になります。
ImageMagick
コマンドラインから画像に処理を加えることができるツールです。
処理としては、画像の作成やサイズ変更、保存形式の変更などがあります。
ImageMagickはGemではなく、ソフトウェアです。
そのため、Homebrewからインストールします。
GemではないImageMagickをRubyやRailsで扱うには、MiniMagickというGemが必要となります。
MiniMagick
ImageMagickの機能をRubyで扱えるようにしてくれるGemです。
RailsでImageMagickを扱うために必要となります。
MiniMagickによって、ImageMagickの機能がRailsで使用できるようになりますが、画像サイズの変更には、もう1つImageProcessingというGemを追加する必要があります。
ImageProcessing
MiniMagickでは提供できない、画像サイズを調整する機能を提供するGemです。
たくさんのツールとGemを紹介しましたが、それぞれの関係性は把握しておきましょう。
それでは、これらのツールとGemを導入します。
導入手順
まずはImageMagickを** Homebrew **からインストールします。
ターミナル
% brew install imagemagick
次にMiniMagickとImageProcessingをインストールします。
gemfile
# gemfileの一番下に記述する
% gem 'mini_magick'
% gem 'image_processing', '~> 1.2'
続いて、ターミナルにてbundle install
します。
ターミナル
% bundle install
gemを新しくインストールしたらローカルサーバーを再起動しましょう。
ターミナル
% rails s
# サーバー開いている場合は一度「 control + c 」で閉じてから再起動するように
以上でActive Storageを使用する為に必要なツールのインストールは完了です。
続いて、Active Storageをアプリケーション内で使用する準備を行います。
ターミナル
% rails active_storage:install
rails active_storage:install
コマンドを実行すると、Active Storageに関連したマイグレーションが作成されます。続けてマイグレートしましょう。
ターミナル
% rails db:migrate
Sequel Proを確認し、active_storage_attachmentsとactive_storage_blobsの二つのテーブルが追加されていれば成功です。
これで、Active Storageと画像加工ツールの導入は完了です。