ActiveStorageを使って、画像投稿機能実装までの流れ


はじめに

 よくSNSで画像をあげるような機能があるが、それをRailsで実装するときに使うGemを紹介する。長くなるため、今回は実装の準備段階に絞って投稿する。
全2回の予定。

Active Storageとは

 現在はGemとしてインストールしなくても、Railsに搭載されている。画像などのファイルのアップロードを簡単に行えるメソッドが使えるようになる、画像を保存するテーブルの作成も簡単に行える。

画像アップロード機能の実装までの流れ

  1. ImageMagickのインストール
  2. 2つのGemのインストール
  3. ローカルサーバーの再起動
  4. Active Strageのインストール
  5. テーブルの生成

1.ImageMagickのインストール

 そもそもImageMagickとは、画像加工ツールであり、Gemではなく、ソフトウェアの部類になる。Homebrewからインストールを行う場合は、


brew install imagemagick

 ImageMagickだけでは、Rubyで扱えないので、次の2つのGemをインストールする必要がある。

2.2つのGemのインストール

(1)MiniMagick
 ImageMagickの機能がRubyで使えるようになる。
(2)ImageProcessing
 MiniMagickだけではできない、画像のサイズの調整をする。

Gemfile
gem 'mini_magick'
gem 'image_processing', '~>1.2' #バージョンの指定

Gemfileのいちばん下でOK。
 
記述をしたら、忘れずに、ターミナルで、

bundle install

3.ローカルサーバーの再起動

rails s

Gemを新たにインストールしたときは、忘れずに。

4.Active Storageのインストール

晴れて、ActiveStorageが使えるようになったので、
ターミナルを使って、インストール

rails active_storage:install

インストールすると、マイグレーションファイルが自動で生成される。

5.テーブルの生成

特にカラムの変更がなければ、そのまま、

rails db:migrate

このマイグレーションによって、2つのテーブルが生成されることを確認。

ポイント

  •  ActiveStorageを使って画像アップロード機能を実装する。
  •  Rubyで使えるようにするために、2つのGemをインストールする。

最後に

次回、画像の保存方法、保存した画像の表示方法についてまとめる。