Rails4:heroku push後にWe’re sorry, but something went wrong.の対処法

Published on:
Last updated:

This post is also available in: 日本語 (Japanese)

Ruby on Rails 4を使っていて、heroku pushした後に We're sorry, but something went wrong. と表示されてしまう場合の対処法のメモです。
原因は色々あるようなので、今回の遭遇したエラーの対処方法を書いています。

1.heroku rake db:migrate を忘れている

We're sorry, but something went wrong.の主な原因は、heroku上でデータベースのマイグレーションを忘れている場合がほとんどのようです。
heroku上においてRailsはデフォルトでは、production環境で実行され、またデータベースもPostgreSQLとなります。

heroku rake db:migrate

2.Gemのweb-consoleのデバッグコードの削除忘れ

原因が分からないエラーが出た場合にはとりあえず、heroku logs でログを確認すると幸せになれるかもしれません。
すると以下のようなエラーメッセージが出てることが分かりました。

app[web.1]: NameError (undefined local variable or method `console' for #<StaticPagesController:0x007facab736478>):

原因は、以下のようにコントローラーの中に記述した console のデバッグのためのコードだったので、コメントアウトするか削除するかしました。
Railsをherokuにpushするのも一苦労かかります...

class StaticPagesController < ApplicationController
  def new
    console
    @post = Post.new
  end
end

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.