2
1

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 1 year has passed since last update.

【Rails】ローカルにないエラーがherokuで表示された時の対処法

Last updated at Posted at 2019-05-02

「ローカル環境での挙動はバッチリ、さあ herokuへアップロードだ」

と思ったら、アップロード後にはなんのヒントもないエラーページ。

本番環境だとエラー画面のデフォルトが下記のように設定されています。

スクリーンショット 2019-04-30 7.50.16.jpg

オリジナルアプリケーション開発で遭遇したシチュエーションをもとに、このような時の解決法を整理します。

1.コマンドでログを確認する

heroku logs -t #-tでも-tailでもOK

ログを確認すると、

  • 本番環境ではカラムが追加されていない(※heroku rails db:migrateで解消)

などのエラー内容ががつかめるはずです。

参考:Heroku コマンド・設定 メモメモ

2.アドオン(Papertail)でログを確認する

コメントをいただき知った方法ですが、ご紹介させていただきます。

herokuのadd-onのPapertailを利用する方法です。

導入すると下記のような画面でログの検索や、あらかじめ設定したエラーに対する通知をすることができます。

スクリーンショット 2019-05-05 15.51.351.jpg

参考:Herokuにログ管理ツール「papertrail」を導入&利用してみる

※エラー画面を表示するのはオススメできない

記事公開当初は、「エラー画面を表示する」方法も1つの手だてかと考えていましたが、コメントをいただき、セキュリティの観点から好ましくないということがわかりました。

念のための備忘録ですが、下記の設定ファイルをfalseからtrueに変えることでエラー画面の表示は可能です。

config/environments/production.rb
config.consider_all_requests_local = false

とは言え、セキュリティ的に問題もあるかつ実務でも利用しない方法とのことなので、利用しない方が良いとの見解に至りました。

2
1
2

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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?