[RAILS] Der starke Parameter ist wahr, kann aber aus irgendeinem Grund nicht in der Tabelle gespeichert werden.

Was hat nicht funktioniert

Ich kann nicht in der Tabelle speichern, obwohl params Werte enthält. Es liegt kein Fehler vor.

Terminal


     6: def create
     7:   judge = Judge.new(judge_params)
     8:   judge.save
 =>  9:   binding.pry
    10: 
    11:   redirect_to  root_path 
    12: end

[1] pry(#<JudgesController>)> judge
=> #<Judge:0x00007fd58efb37c0
 id: nil,
 judge_correct_id: 2,
 comment: "Meo",
 created_at: nil,
 updated_at: nil>
[2] pry(#<JudgesController>)> judge.save
=> false

Fazit

Der externe Schlüssel sollte in einer Zuordnung vorhanden sein, aber ich habe ihn nicht in die Migrationsdatei eingefügt.

Überprüfungsmethode (save! Methode)

Die save-Methode gibt nur true oder false zurück. Wenn die save! -Methode jedoch false ist, wird anscheinend eine Ausnahme ausgelöst, sodass das Terminal anzeigt, dass sie den Fehler verursacht. Wenn false als Instanzvariable .save auf dem Terminal zurückgegeben wird, wird sie in die Instanzvariable .save!

Validation failed: User must exist,Post muss existieren ・ ・ ・ hogehoge

Es gab eine Beschreibung. Ich dachte, dass ich die ID für Benutzer und Post nicht erstellt habe, obwohl ich eine Assoziation gebildet habe, also habe ich sie hinzugefügt und es hat funktioniert.

das ist alles

Recommended Posts

Der starke Parameter ist wahr, kann aber aus irgendeinem Grund nicht in der Tabelle gespeichert werden.
Ich habe die Version und die Schienen neu angegeben, aber aus irgendeinem Grund ist die neueste Version enthalten ~
[Für Anfänger] Ruby soll Rubin sein, aber was ist damit?
Erstellungsfehler von Die Datei kann nicht in Xcode gespeichert werden
Wenn Sie die Fehlermeldung erhalten Die Daten können nicht gelesen werden, da sie im Docker für Mac fehlen
So übersetzen Sie die Fehlermeldung ins Japanische (Was tun, wenn Sie sich aus irgendeinem Grund nicht anmelden können)
Im Ausnahmefall wird das Warten auf den Debugger erneut angezeigt, und es besteht das Problem, dass die Logcat-Ausnahme nicht angezeigt wird.