저는 몇 주 동안 해결책을 찾고있었습니다. 아직 실패했습니다 .. 나는 레일즈에서 루비를 사용하여 호출 된 프로 시저를 저장했습니다. 프로 시저를 저장하면 유효성 검사가 수행되고 raiserror를 사용하여 throw됩니다.루비 레일에 ms sql이 표시 한 오류 메시지가 표시됩니다.
ex.
데프 이 M.find_by_sql "EXEC spTestProc '2010년 3월 15일'를 시작 저장 레일 컨트롤러에 내 루비에서
를 ("STARTDATE가 종료 날짜보다 작아야합니다 ") RAISERROR, '2010년 3월 1일 ' " 구출 Exception => e render : js => alert (e.message); 끝
가 대신 내가 이 "STARTDATE가 종료 날짜보다 작아야합니다"오류 메시지가, 내가이 오류 메시지 "DBI :: DatabaseError의 가지고 : 37000 (50000) [Microsoft] [ODBC SQL Server 드라이버를] [SQL 서버] StartDate EndDate보다 작아야합니다. : Exec spTestProc '3/15/2010', '3/1/2010' "
내 저장된 proc에 의해 throw 된 오류 메시지를 표시해야하지만 일부 "DBI :: DatabaseError ... 등"과 같이 표시하고 싶지 않은 추가 메시지 내가 어떻게 할 수 있니?
감사합니다.
감사합니다. 나는 이것을 시도 할 것입니다. – Jett
하지만 Exception 클래스에는 실제 오류가있는 함수가 내장되어 있지 않습니까? asp.net에서와 마찬가지로 실제 오류 메시지가 나타납니다. thanks – Jett
ASP.net이이 단계를 수행하고있을 가능성이 큽니다. –