##はじめに
前回はActiveStorageの画像をS3に保存する方法を三回にわたって説明してきました。しかしそれはローカル環境での話でした。今回は本番環境の Herokuでも同じようにS3へ保存させるようにします。
前回までの①〜③までが完了している状態から始めさせていただきます。
よろしくお願いします。
##production.rbを編集
アプリのconfig/environments/production.rb
ファイルを編集します。
現在の設定ではactivestorageの画像の保存先がローカルに設定されているのでS3に変更します。
下記の記述が存在するか確認してください。
# ~省略~
config.active_storage.service = :local
# ~省略~
この「:local」を→「:amazon」に変更します。
# ~省略~
config.active_storage.service = :amazon
# ~省略~
これでアプリ側の設定は完了です。
後はHerokuの環境変数を設定してあげます。
##Heroku上で環境変数を設定する
下記のコマンドでターミナルでHerokuの環境変数を設定します。
% heroku config:set AWS_ACCESS_KEY_ID="CSVファイルのAccess key IDの値を貼り付け"
% heroku config:set AWS_SECRET_ACCESS_KEY="CSVファイルのSecret access keyの値を貼り付け"
※ダブルクォーテーションは必要です。
ちゃんと設定されたか確認をします。
下記のコマンドを実行して設定した環境変数が表示されればOKです。
% heroku config
全て完了したら% git push heroku master
で本番環境にpushして反映させてください。
最後に前回の記事と同じように、本番環境で画像を投稿し、AWSのS3のページでその画像がS3に保存されているか確認してください。