
概要
開発環境では問題無く動くのに、なぜかHerokuへデプロイすると「undefined method」エラーに遭遇。問題解決のために割と時間がかかったのでメモ書きとして残します。
もし同じような現象に悩まれている方がいれば試してみてください。
環境
- Ruby 2.6.3
- Rails 5.2.4
実際の状況
現在、Railsエンジニアになるための修行の一環として食べ物レビューサイトを作っています。
で、レビューを書く際に味の評価をする「taste」属性をReviewクラスへ追加したのですが、開発環境では問題無く動作していたにもかかわらず、Herokuへデプロイすると途端に「undefined method」エラーが起こるようになってしまいました。
undefined method `taste' for #<Review:0x000055fbff5d8170>
事前にしっかりとcommitしているかの確認も行っているため、コードの中身自体はローカル・リモートともに共通のはず。どうすれば良いのかわからず、1時間ほどハマってしまいました。
先に結論から言ってしまうと、次のコマンドで何とか解決する事に成功。
heroku restart
要するに再起動ですね。こんな簡単な方法で良いのかと、1時間悩んでいたのがアホらしくなりました。
参照記事:heroku undefined method `name' for User
やっぱり英語で検索するのって大事だなとしみじみ。