はじめに
Railsチュートリアル1.5.1~1.5.3をそのまま実行していく中で発生したエラーです。
エラー時の状況
- herokuへのデプロイを実施
- $ git push heroku master には成功しているようだがネット上で表示されない
- rails server 上では問題なく表示される
- もう一度push herokuをすると「Everything up-to-date」と表示される
上記以外の状況の場合は最後に追記してあるのでそちらも見てみてください。
内容
- 情報
- 実行内容と発生したエラー
- 解決方法
- その他の問題の場合
情報
PC
- MacBook Pro(15-inch,2019)
- プロセッサ 2.6GHz 6コアIntel Corei7
- メモリ 16GB 2400MHz DDR4
- グラフィックス Intel UHD Graphics 630 1536 MB
開発環境
- AWS Cloud9
- Ruby 2.6.3
- Ruby on Rails 5.1.7
- Git 2.14.5
- heroku/7.35.0 linux-x64 node-v12.13.0
- Bitbucket
実行内容と発生したエラー
Railsチュートリアル1.5.1の手順に従いHerokuのセットアップ
1.5.2で下記を実行
$ git push heroku master
問題なく終了したように見えたので帰ってきたURL(.gitと.comがある)を開く。
https://damp-fortress-5769.herokuapp.com
https://git.heroku.com/damp-fortress-5769.git
.gitは「Method Not Allowed」と表示されるだけなので注意。
.comの方を開くと「Application error」ログの詳細を確認しろとの表示。
だが、初心者なためログを見ても何が何だか分からず、とりあえずpush後の情報を確認。

解決方法
いくつか試したが多くのエラーパターンがあるように思われたので端的に解決に至ったもののみを記しておく。
この質問の通りにしたら解決した。
手順としては、
・ /hello_app/config/database.yml を開く
・ 内容を*1に書き換え
・ 変更を保存(⌘ + S)
・ $ git add .
・ $ git commit -m "change_database.yml"
・ $ git push
・ $ git push heroku master
これで無事デプロイに成功。
*1
default: &default
adapter: sqlite3 を削除
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
adapter: sqlite3 # 追加
database: db/development.sqlite3
production:
<<: *default
adapter: postgresql
database: db/production.pg
その他の問題の場合
初心者だからこそのエラーパターンがいくつかあったので追記しておく。
-
SSH認証に失敗している
メッセージが表示されているはずなのでもう一度手順通りに公開鍵を追加する。 -
.gitと.comのうち、.gitのURLを開いている
.comのURLがデプロイされた物なのでそちらを開く
あまりないと思うが質問サイトの投稿者の中にいた。 -
変更内容を保存せずにaddやcommitをしている
ほぼ無い状況だろうが自分が何回もやらかしているので一応