herokuデプロイ後のエラー uninitialized constant ApplicationCable::ActionCable (NameError)


やっとherokuにデプロイできたのに

数々のエラーを解決してやっとの思いでherokuへデプロイ後
uninitialized constant ApplicationCable::ActionCable (NameError)
こんなエラーメッセージが出てきたので解決方法を書き留めておきます。

heroku openするとエラー画面が


ここに書いてあることを簡単に訳すと
「アプリケーションでエラーが出たので、次のコマンドでログを確認してください。」ということです。

$ 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デプロイ後のエラーを解決した方法でした。