3

アプリケーションをRails3に切り替えていますが、今のところlog_errorメソッドにいくつかの問題があります。ドキュメント(http://apidock.com/rails/ActionController/Rescue/log_error)で、最後のバージョンは2.3.8であると言われているため、この場合は正常に機能していません。

しかし、私が代替案を確認すると、Rails3でサポートされているhttp://apidock.com/rails/ActionDispatch/ShowExceptions/log_errorが提案されています。それでも彼は「未定義のメソッドlog_error」と言っています。

私はそれをアプリケーションコントローラーで次のように使用します。

def render_not_found(exception = nil)
  log_error(exception) if exception
  #notify_hoptoad(exception)
  render :template => "/help/404.html.erb", :status => 404
end

def render_error(exception)
  log_error(exception)
  notify_hoptoad(exception)
  render :template => "/help/500.html.erb", :status => 500
end

では、Rails 3でlog_errorメソッドを使用するにはどうすればよいですか?または、この方法の代替手段はありますか?

4

1 に答える 1

1

使用したいメソッドはprivate、明示的に呼び出すことができないためです。
例外を表示するには、次のようなものを使用する必要があると思います。

message = "\n#{exception.class} (#{exception.message}):\n"
Rails.logger.warn(messafe)

あくまでも推測ですので、ご自由にカスタマイズしてください。

于 2011-10-25T09:03:25.213 に答える