「500 Internal Server Error」が出るときは?
Rails2.0をWEBrickでテストしているとき「500 Internal Server Error」が出ることがあります。致命的なエラーのときに出るようです。
エラーの確認
Rails(WEBrick)が「/myapp/log/development.log」にエラーを吐いているはずです。今回はDBを作らず動かしてみたので、↓のようなログが書かれています。
/!\ FAILSAFE /!\ Wed May 07 10:03:45 +0900 2008
Status: 500 Internal Server Error
#42000Unknown database 'myapp_development'
どこが出しているかな
ソースを見ると、たぶんここ(↓)の「failsafe_rescue()」が出していそうです。わかったからといってどうなるわけでもありませんが。
$ e /myapp/vendor/rails/actionpack/lib/action_controller/dispatcher.rb def failsafe_rescue(exception) self.class.failsafe_response(@output, '500 Internal Server Error', exception) do if @controller ||= defined?(::ApplicationController) ? ::ApplicationController : Base @controller.process_with_exception(@request, @response, exception).out(@output) else raise exception end end end
参考
こちら(→あきおの日記)が勉強になりました。