Was ist der beste Weg, um den Fehler zu behandeln, dann ID nicht gefunden? Ich habe diesen Code in meinem Controller:
%Vor%Ich habe über so etwas nachgedacht:
%Vor%Aber ich bekomme immer noch:
ActiveRecord :: RecordNotFound in MatchesController # show
Konnte findMatch mit 'id' = 2 nicht finden
Warum?
Was ist die richtige Lösung?
Standardmäßig löst die find
-Methode eine ActiveRecord::RecordNotFound
-Ausnahme aus. Die korrekte Art, einen nicht gefundenen Datensatz zu bearbeiten, ist:
Wenn Sie jedoch einen if / else-Ansatz bevorzugen, können Sie die Methode find_by_id
verwenden, die nil:
Es gibt zwei Ansätze, die fehlen:
Man benutzt ein Null-Objekt (dort hinterlasse ich die Forschung)
Der andere wurde erwähnt, kann aber wiederverwendbarer und auf eine Art und Weise eleganter platziert werden (aber es ist ein bisschen vor dem Action-Code verborgen, weil er es ist arbeitet auf einer etwas höheren Ebene und versteckt Sachen):
%Vor%Tags und Links ruby-on-rails ruby-on-rails-4