Ruby wird ohne Ausnahme zurückverfolgt

8

Ich habe eine Ruby on Rails-Anwendung, bei der eine Validierung für eines meiner Modelle fehlschlägt. Es gibt verschiedene Einstiegspunkte in die Codebasis, für die diese Validierung fehlschlagen könnte. Ich bin daran interessiert, herauszufinden, woher es kommt. Da es sich um eine einfache Validierungsmethode handelt, sind keine Ausnahmen beteiligt, ich gebe einfach false aus der Methode zurück und das Speichern schlägt fehl.

Ist es derzeit möglich, den Backtrace auch zu protokollieren, um herauszufinden, aus welchem ​​Service / Route diese Validierung stammt, damit ich sehen kann, was den Status für dieses Objekt geändert hat, damit die Validierung fehlschlägt?

    
randombits 10.08.2012, 18:00
quelle

2 Antworten

15

Sie könnten versuchen caller() :

%Vor%

Ergebnis:

%Vor%     
knut 10.08.2012, 19:15
quelle
1

Ich bin mir nicht sicher, ob ich das clever machen könnte, aber das wird den Job erledigen. Sie könnten es sogar in eine nette kleine Funktion wickeln. Ich bin mir nicht sicher, ob das Auslösen von Ausnahmen und deren Rettung sich auf die Leistung auswirken wird, aber Sie würden wahrscheinlich so etwas in der Produktion nicht machen wollen.

%Vor%     
CambridgeMike 10.08.2012 18:28
quelle

Tags und Links