Rails救援redirect_to并显示警报而不是错误页面

时间:2014-01-21 23:29:35

标签: ruby-on-rails exception-handling

我的控制器中有一个操作,可以调用第三方API。我想捕获在联系此API时可能引发的任何异常,只是重定向回页面并显示错误消息。使用rescue =>时e我只是继续获得正常的Rails 500错误页面,而不是使用flash消息重定向。

begin
  jira_post("issue/#{@incident.ticket_number}/comment", comment)
  format.html { redirect_to incident_url, notice: "Ticket #{@incident.ticket_number} updated." }
  format.json { head :no_content }
rescue => e
  format.html { redirect_to incident_url, alert: "Error connecting to JIRA API!" }
end

我没有被重定向,而是仍然得到一个错误页面:

SocketError in IncidentsController#show
getaddrinfo: nodename nor servname provided, or not known

我在做什么错误的Stackoverflow专家?

1 个答案:

答案 0 :(得分:0)

我正在重定向的页面在操作中有另一个API调用,该操作失败并且没有被抢救,这导致生成错误页面。感谢Agis提醒我关注堆栈跟踪...