2014-01-21 2 views
0

타사 API를 호출하는 컨트롤러에 작업이 있습니다. 이 API에 연결할 때 발생할 수있는 예외를 잡아 내고 페이지로 다시 리디렉션하고 오류 메시지를 표시하려고합니다. rescue => e를 사용하면 플래시 메시지로 리디렉션되는 대신 일반 Rails 500 오류 페이지가 계속 표시됩니다.레일즈가 redirect_to를 구하고 오류 페이지 대신 경고를 표시합니다.

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

I에 유래의 잘못 전문가 뭐하는 거지 대신 난 아직도 오류 페이지의 말을 얻을 리디렉션하기의

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 

?

+0

어떤 라인에서 이것을 얻고 있습니까? 전체 스택 추적을 게시 할 수 있습니까? – Agis

+0

내가 리디렉션하는 페이지에는 실패했지만 구조되지 않은 다른 API 호출이있었습니다. 그건 내게 흔적을 따르지 말아라. 고마워. – irlrobot

답변

0

리디렉션하는 페이지에서 오류 페이지를 생성하는 rescue'd가 실패한 작업에서 다른 API 호출을 받았습니다. stacktrace를 따라 나를 상기시켜 주셔서 Agis에게 감사드립니다 ...

관련 문제