実現したいこと
We're sorry, but something went wrong.のエラーを解消し、再び本番環境でアプリが開けるようにしたい。
- 開発環境 Ruby on Rails6
- MySQL
状況
ローカルでアプリを更新し、久々に自動デプロイコマンドを押下しデプロイを完了させました。
反映を確認しようとすると、本番環境で下記写真のエラーが発生し、アプリが開けなくなってしまいました。
We're sorry, but something went wrong. If you are the application owner check the logs for more information.
ローカルでアプリは動いても本番では動かない事や、このエラー自体はよくあるようなのでググりました。
そして、自分のアプリのログをチェックしなさいと怒られているので、EC2にログインしてcat production.logで本番環境のログをチェックしました。
エラー内容抜粋
ActionController::RoutingError (No route matches [GET] "/TP/html/public/index.php"): Rendered tweets/index.html.erb within layouts/application (Duration: 10.5ms | Allocations: 4817) Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.6ms | Allocations: 5296) ActionView::Template::Error (undefined method `breadcrumb' for #<#<Class:0x00000000076186e8>:0x0000000006cdd218>):
このようなエラーが発生していることが本番環境で分かりました。しかし、エラーの原因の内容が不明で、現在エラー文の内容を調べている最中です。
試したこと&思い当たる要素
デプロイする前はgem 'gretel'を追加でファイルを作成し編集を繰り返していました。
ローカルで表示されたので切っていたブランチをプルリクエストでマージ完了。
ローカルに反映後にbundle exec cap production deployコマンドでデプロイ自体は無事完了しました。
一連の作業をする前にrails db:migrateを行った後に、一旦作業をやめる為にrails db:rollbackを行っています。
もしや、それがまずかったのかと考えていますが、本番環境で何を直せば良いのか具体的な解決策が現状浮かんでおりません。
連投で質問してしまい、申し訳ありませんがお知恵をお借りしたく思います。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー