3

我正在将我的应用程序切换到 Rails 3,目前我发现 log_error 方法存在一些问题。在文档(http://apidock.com/rails/ActionController/Rescue/log_error)中,他们说最后一个版本在 2.3.8 中,所以在这种情况下,它不起作用是正常的。

但是当我检查替代方案时,他们提出了http://apidock.com/rails/ActionDispatch/ShowExceptions/log_error这在 rails 3 中受支持。但他仍然告诉我“未定义的方法 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 回答