##環境
heroku
##解決したいこと
開発環境では、できている動作が本番環境ではなぜか,できないこと。
私の場合は、ユーザー管理機能を実装後、ホーム画面のログインボタンを
押すと、「We're sorry, but something went wrong.」が表示されたこと。
##本番環境で動作がうまくいかない時の結論
1 heroku logs --tail --app アプリケーション名 でエラーログを探してみる。
2 マイグレートし直してみて、エラー文が表示されないか確認する。
3 本番環境のページをリロードしてみる。
#私の問題解決に至るまでの過程
##エラー解決までにやってみたこと
heroku logs --tail --app アプリケーション名
をターミナルで実行し、エラーログを探してみたが、見つからなかった。
##原因の結論
heroku run rails db:migrateを実行し直してみた。すると、
SyntaxError: /app/db/migrate/20200926093243_devise_create_users.rb:9: syntax error,
と表示された。
示されたマイグレーションファイルを確認すると、
t.string :encrypted_password, null: false,
と書かれており、末尾の , が余計に記述されていたことが分かった。
そこを修正し、git push heroku master
でコミットし、その後、プッシュをして、マイグレートし直すと、
エラーが解消された。
つまり、herokuへの、マイグレートが文法の間違いでできていなかったことが原因でした。
##まとめ
エラーログを探しても、見つからない時は、herokuへのマイグレーションを再度し直すと、
エラー文が見つかるかもしれません。
結果的にはなぜ開発環境ではうまくいっていたのに、本番環境ではうまくいかなかったのかは
分かりませんでした。
しかし、どちらの環境でも、正常な動作を実現できたので、問題なしと判断しました。
以上になります。
###追記
紹介する方法は私がエラーを解決できた方法であり、エラー解決の方法の一つに過ぎません。