#はじめに
よくSNSで画像をあげるような機能があるが、それをRailsで実装するときに使うGemを紹介する。長くなるため、今回は実装の準備段階に絞って投稿する。
全2回の予定。
##Active Storageとは
現在はGemとしてインストールしなくても、Railsに搭載されている。画像などのファイルのアップロードを簡単に行えるメソッドが使えるようになる、画像を保存するテーブルの作成も簡単に行える。
##画像アップロード機能の実装までの流れ
- ImageMagickのインストール
- 2つのGemのインストール
- ローカルサーバーの再起動
- Active Strageのインストール
- テーブルの生成
###1.ImageMagickのインストール
そもそもImageMagickとは、画像加工ツールであり、Gemではなく、ソフトウェアの部類になる。Homebrewからインストールを行う場合は、
brew install imagemagick
ImageMagickだけでは、Rubyで扱えないので、次の2つのGemをインストールする必要がある。
###2.2つのGemのインストール
(1)MiniMagick
ImageMagickの機能がRubyで使えるようになる。
(2)ImageProcessing
MiniMagickだけではできない、画像のサイズの調整をする。
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をインストールする。
##最後に
次回、画像の保存方法、保存した画像の表示方法についてまとめる。