やっとherokuにデプロイできたのに
数々のエラーを解決してやっとの思いでherokuへデプロイ後 uninitialized constant ApplicationCable::ActionCable (NameError) こんなエラーメッセージが出てきたので解決方法を書き留めておきます。heroku openするとエラー画面が
![スクリーンショット 2021-06-20 18.54.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1194218/5d4b280f-14d2-4f76-aa33-ba7c27e56b1d.png) ここに書いてあることを簡単に訳すと 「アプリケーションでエラーが出たので、次のコマンドでログを確認してください。」ということです。$ heroku logs --tail
ちなみに翻訳はこちらのDeepLがおすすめです!
DeepLトップページ
「Google翻訳」よりも制度の高い日本語に翻訳してくれます。
そこで上記のコマンドを打ってログを見てみました。
ログを眺めてみる
今回はログの中にこんなエラーが表示されていました。2021-06-20T11:17:05.170313+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=obscure-fjord-38948.herokuapp.com request_id=b4d66ca2-5f24-4cb8-996b-4b386d3b83fa fwd="126.255.41.232" dyno= connect= service= status=503 bytes= protocol=https
これを調べてみたところ「アプリケーションが起動できず、ページを表示できない」とのこと。
参考 Heroku Dev Center
そこで起動できない原因を探すためにログを見ると下記エラーが見つかりました。
/app/app/channels/application_cable/channel.rb:2:in `<module:ApplicationCable>': uninitialized constant ApplicationCable::ActionCable (NameError)
このエラーを元に検索し、下記を追加することで解決です。
config/application.rb
require "action_cable"
[Rails-5] uninitialized constant ApplicationCable::ActionCable #23183
おわりに
最近エラー続きでしたが、エラー文やログをきちんと見るのって大切なんだなと実感しています。 書き忘れていましたが、herokuへデプロイ後すぐに$ heroku run rails db:migrate
こちらを行っています。
以上、herokuデプロイ後のエラーを解決した方法でした。