5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Windows】Rails+Heroku+Carrierwave+S3  でデプロイする

Posted at

小学校の先生に向けに、板書の写真を共有できるオリジナルアプリを作りました。
Herokuでデプロイしたのですが、結構手こずったので記事にしておきます。

まずは

こちらの記事を参考に進めていきました。
https://qiita.com/kazukimatsumoto/items/a0daa7281a3948701c39
(【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】)

いくつかのエラーに見舞われたものの、ひとまずこれでデプロイが完了しました。

※Users_controller.rbの中にApplicationControlleという記述があり、ややハマりました。rがないからそりゃNameErrorなんだけどさ、ローカルでもエラー出してくれよ…

画像が消える

よっしゃーデプロイできたー!と思ったのもつかの間、投稿時には普通に表示されていた画像が、しばらく経つと見られなくなっている…!?

調べてみたら、こんな記事が
https://qiita.com/hmmrjn/items/b02f076ceaeeaaceb999
(Herokuでアップロードした画像が時間経つと消える問題)

なるほど、どうやら正常な挙動のようだ。

ということでクラウドストレージS3を導入することにしました。スクールのカリキュラムで一度やっているとはいえ、AWSを扱うのは初心者としてはドキドキするのよね。

S3の導入

以下の記事を参考に進めました。
https://qiita.com/hmmrjn/items/479c9e9ce82771f1b6d7
(【Rails】AWS S3を使ってHerokuで画像を投稿できるようにする方法)

自分のアプリはActiveStrageではなくCarrierwaveを使って画像のアップロードを行っていたので、こちらの記事も参考にしました。
https://qiita.com/nobu0717/items/a34a896f6e7ad68dc54e
(Rails+CarrierWave+heroku環境でAWS S3へ画像をアップロードする)

記事中に

$ EDITOR=vim rails credentials:edit

ってコマンドがあるんですけど、Windowsだからなのか

'EDITOR' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

って怒られちゃうんですよね。
いろいろ調べた結果、左下の検索ボックスで「システム環境変数の編集」→「環境変数」とたどって、ユーザー環境変数のところに新規で、

変数:EDITOR
値:"C:\Users~略~\Code.exe" -w -n
(editorの場所を示すパス。自分はvscodeがある場所を指定しました。-w -nの意味はよく分かっていません汗)

って設定してやることで、

rails credentials:edit

ってうつと勝手にeditorが起動してcredentials.yml.encを編集できるようになりました。ここがハマりポイントでした。

ちなみにcredentials.yml.encについては下記の記事も参考にしました。
https://qrunch.net/@WEkFtOQhlqcyDEsy/entries/bvfUcf0RmWqQ2NVH
https://qiita.com/NaokiIshimura/items/2a179f2ab910992c4d39

でようやく

S3の導入が完了してuploadされているのを確認することができたのでした。
ちゃんとS3に投稿した画像が送られたときには歓喜でしたね。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?