[RUBY] [Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?

Einführung

Wenn Sie beispielsweise versuchen, die Variable "result" wie "result.save" zu speichern, wird eine Fehlermeldung im Ergebnis gespeichert, wenn dies fehlschlägt. Ich möchte dies verwenden, um eine Fehlermeldung anzuzeigen, aber es wird ein Ruby-Fehlerbildschirm.

Mit anderen Worten, ich erhalte nicht die gewünschte Fehlermeldung.

Überprüfen Sie die Konsole, wenn ein Fehler auftritt


result.errors.any? => False

Ich kann es nicht speichern, aber ich erhalte keine Fehlermeldung.

Dieses Mal möchte ich eine Fehlermeldung erhalten, wenn ich versuche, mich ohne Eingabe zu registrieren.

Ursache

Die Ursache war, dass es in Model keine Validierungsbeschreibung gab. Beim Erstellen einer Tabelle gibt es Einschränkungen für Spalten ("null: false", da keine Eingabeeinschränkungen vorliegen), die jedoch allein nicht zu einer Fehlermeldung führen.

Gegenmaßnahmen

Ich habe folgendes in Model geschrieben.


class Result < ApplicationRecord
  belongs_to ...
  has_many ...
  validates :name, presence: true
  
  ...
end

Durch Schreiben von "validiert: Name, Anwesenheit: wahr"


result.errors.any? => True

Nebenan


result.errors.full_messages

Also habe ich den Inhalt aller Fehlermeldungen erhalten und sie mit "each" abgerufen!

Recommended Posts

[Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
Was tun, wenn der Befehl Rails unbrauchbar wird?
Was tun, wenn Sie den Text eines Elements in Selen nicht abrufen können?
Was tun, wenn die Meldung "Ein Server läuft bereits" angezeigt wird. Fehler beim Versuch, den Rails-Server zu starten
[Schienen] Was tun, wenn die Ansicht zusammenbricht, wenn eine Nachricht mit der Fehlermethode angezeigt wird?
Was tun, wenn während des Rails-Testcodes ein Fehler bei der Standardauthentifizierung auftritt?
Was tun, wenn beim Abrufen von Rails datetime_field die Fehlermeldung "Bitte geben Sie einen gültigen Wert ein" angezeigt wird?
Was tun, wenn der Rails-Server nicht gestartet werden kann?
Was tun, wenn Sie gem'bcrypt 'in Ihre Gemfile eingeben und bei der Bundle-Installation eine Fehlermeldung erhalten?
Was tun, wenn in CircleCI der Fehler zu lang ohne Ausgabe (über 10 m0s) angezeigt wird?
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
Was tun, wenn im Testcode der Steuereinheit in Rails der Fehler "302" angezeigt wird?
Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden" angezeigt wird? Beim Starten des Rails-Servers
[Rails] Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden?" Angezeigt wird, wenn der Befehl "Rails" in Catalina ausgeführt wird
Was tun, wenn Sie eine [HTTP-Anforderung hat zu lange gedauert] Fehler in Docker.
Was tun, wenn ein ActionController :: UnknownFormat-Fehler auftritt?
Was tun, wenn Um die fehlende Version zu installieren, führen Sie `gem install bundler: 2.1.4` aus
So übersetzen Sie die Fehlermeldung ins Japanische (Was tun, wenn Sie sich aus irgendeinem Grund nicht anmelden können)
Was ist nach der Installation von 'devise' 'bootstrap' von gemfile with Rails zu tun, wenn url ein Fehler ist?
Was tun, wenn in bind.pry eine falsche Anzahl von Argumenten angezeigt wird?
Was tun, wenn Sie Ihren API-Schlüssel nach der Bereitstellung auf Rails heroku nicht finden können?
Was tun, wenn Sie den Befehl "Java-Paketname / Klassenname" nicht ausführen können?
[Rails] Was war die Fehlermeldung?
[Java] Was tun, wenn in Eclipse die Fehlermeldung "Nicht zulässig auf Quellenebene unter 1.X" angezeigt wird?
Was tun, wenn ein Argumentfehler auftritt? Falsche Anzahl von Argumenten (gegeben 2, erwartete 0) in Ihrem RSpec-Test
Was tun, wenn in Rails 6.0 die Warnung "Der Eindeutigkeitsprüfer erzwingt in Rails 6.1 keinen Vergleich zwischen Groß- und Kleinschreibung mehr erzwingt" angezeigt wird
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
Was tun, wenn Sie die Listen-Adresse im Einstellungsbildschirm des Dockers Mattermost ändern?
Was tun, wenn Sie Ruby mit rbenv installiert haben, die Version sich jedoch nicht ändert?
Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
<Punktinstallation> Was tun, wenn Sie aufgrund eines Fehlers beim Erstellen einer Entwicklungsumgebung für das Rails-Lernen nicht fortfahren können?
Erhalten Sie eine Fehlermeldung mit einer beliebigen Methode
[Programmieranfänger] Was tun, wenn Schienen zu einem Fehler in der lokalen Entwicklungsumgebung werden?
Was tun, wenn während der automatischen Bereitstellung auf EC2 mit Capistrano ein SSH-Schlüsselauthentifizierungsfehler auftritt?
Was tun, wenn beim Versuch, mit Eclipse zu erstellen, ein Fehler in der gemeinsam genutzten JNI-Bibliothek auftritt?
Was tun, wenn die App nicht mit der neuesten Rails-Version erstellt wurde, die bei neuen Rails installiert wurde?
Was tun, wenn Sie in Thymeleaf Layout eine groovige Warnung erhalten?
Fügen Sie gem'rails-i18n ',' ~> 6.0.0 'hinzu und was zu tun ist, wenn die Bundle-Installation einen Fehler anzeigt
Was tun, wenn ein Fehler auftritt, wenn nokogiri bei der Bundle-Installation eingeht?
Kein Platz mehr auf dem Gerät Was tun, wenn ein Fehler auftritt?
Was tun, wenn Ihnen der von swagger-codegen-cli generierte Code nicht gefällt?
Was tun, wenn auf GitHub eine MiniMagick-Sicherheitsanfälligkeitswarnung angezeigt wird?