###はじめに
・Active Strage の導入を自分なりにまとめたもので、メモのようなものです。
・投稿者は初学者ですので誤った情報を投稿してしまうことがあります。その時はぜひ、遠慮会釈なしにご指摘いただけると幸いです。
###Active Strageとは
ファイルアップロード機能を手軽に実装できるGemのこと。
元々はインストールが必要だったが、Rails5.2.0以降、初期段階から統合される事となった。このGemを用いると、ファイルアップロードのメソッドを使用できたり、画像を保存するテーブルを簡単に作成できる。
###Active Strageのお供
Active Strageと一緒に導入すると画像の加工の幅が広がる物を3つ列挙します。
・ImageMagick
・MiniMagick
・ImageProcessing
ImageMagickはソフトウェアで、MiniMagickとImageProcessingはGemになります。
ImageMagick
コマンドラインから画像に処理を加えることができるツールのこと。
画像の作成やサイズ変更、保存形式の変更などが可能となる。
Homebrewよりインストールする。
MiniMagick
ImageMagickをRubyで扱えるようにしてくれる接合の役割を担うGemのこと。
ImageProcessing
ImageMagickでの画像サイズ機能を拡張してくれるGemのこと。
###導入の手順
1、ImageMagickをHomebrewからインストールするために、下記のコードをターミナルに入力する。
% brew install imagemagick
2、MiniMagickとImageProcessingをインストール。
gem 'mini_magick'
gem 'image_processing', '~> 1.2'
bundle install
'~> 1.2'
と表記があるが、これは、1.2.0以上、1.3.0未満のバージョンを指定、という意味。
3、ローカルサーバーを再起動
rails s
4、Active Strageをインストール
導入手順1でrailsアプリの中にActive Strageを入れた。
ここでのインストールはActive Strageを用いるための周辺準備のためのインストール。
rails active_storage:install
これにより、Active Strageに関連したマイグレーションファイルが作成される。
続けて、以下のようにmigrate
をすることでテーブルが作成される。
rails db:migrate
#####余談 ※読み飛ばし可*
導入手順1と4はどちらもインストールであるが、何が違うのかを自分なりに解説。
アパートの引越しで例えるならば、
導入手順1は「仲介業者と賃貸の契約」
導入手順4は「家具や消耗品を部屋へ搬入」
である。
仲介業者と契約を結んだだけでは(導入手順1)その部屋で快適には過ごせない。冷蔵庫に電子レンジ、シャンプーにお皿などの生活用具を部屋に運搬して(導入手順2)初めて生活ができる空間となる。
###まとめ
Active Strage
を調べていく中で、CarrierWave
という、同じく画像アップロード実装のGemを見つけました。
CarrierWaveは10年ほど前から利用されている古い技術ということで今はActive Strageが主流なのかと思いましたが、意外にもCarrierWaveも現役選手でした。
Active Strage
はシンプルなファイルアップロード。
CarrierWave
はアップロード+細かな設定。
それぞれ別の役割がしっかりと備わっているようなので、CarrierWaveのことも調べて実装したいと思います。