rails/heroku ActionCableを導入したアプリをデプロイ→エラー発生→解決
こんにちは。
本日は、ActionCableを導入したアプリをherokuへのupした際に起きたエラーについて記載していきます。
ローカル環境では確認できるのに、heroku上では、エラーが発生してしまう!
そもそも、「そのままの状態だとAction Cableが本番環境で非同期にならない事」を前提として知っておくべきでした。
解決方法は、簡単でした。
ターミナルでログ確認確認
heroku logs --tail --app <アプリ名>
エラー文発見
Gem::LoadError (Specified 'redis' for Action Cable pubsub adapter, but the gem is not loaded. Add `gem 'redis'` to your Gemfile
どうやらAction Cableの為の「redis」gemを加えてください、と言われている模様。
そんなgemを導入する話は聞いておりませんでした...。
解決方法
色々調べた結果、2つのファイルを下記に修正することがわかりました。
config.action_cable.allowed_request_origins = [ /http:\/\/.*/ ]
production:
adapter: async
これで無事にデプロイできました。
と思いましたが、次のエラーが発覚。ページによって、We're sorry, but something went wrong.と出る。
無事解決しております。また次回解決した方法を記載していきます。