[RUBY] Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?

Umgebung

Was Sie implementieren möchten

Reflektieren Sie die Validierung in der Aktion "Update" von "controller.rb".

Ursache

Es wird aus "@ post.valid?" In der if-Anweisung zur Fehlerbehandlung der Aktualisierungsaktion geschrieben. Mit dieser Schreibmethode wird die Validierung für bereits registrierte Informationen wirksam.

post_controller.rb


def update
    if @post.valid?
      @post.update(post_params)
      flash[:notice] = "Die Bearbeitung ist abgeschlossen"
      redirect_to post_path(@post.id)
    else
      flash.now[:alert] = "Bearbeitung fehlgeschlagen"
      render :edit
    end
  end

Lösungen

Wenn Sie mit dem Schreiben von "@ post.update (post_params)" beginnen, funktioniert die Validierung auch bei Updates normal.

post_controller.rb


def update
    if @post.update(post_params)
      flash[:notice] = "Die Bearbeitung ist abgeschlossen"
      redirect_to post_path(@post.id)
    else
      flash.now[:alert] = "Bearbeitung fehlgeschlagen"
      render :edit
    end
  end

Recommended Posts

Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?
Was tun, wenn TextToSpeech unter Android 11 nicht funktioniert?
Was tun, wenn die Annotation JSON Hint nicht mit Lombok und JSONIC funktioniert?
Was tun, wenn die Rails-Seite im Rails-Lernprogramm 1.3.2 nicht angezeigt wird?
Was tun, wenn der Server-Tomcat stirbt?
Was tun, wenn die Installation des Debug-Gems fehlschlägt?
Was tun, wenn der Rails-Server nicht gestartet werden kann?
Was tun, wenn das Update nach der Bereitstellung von Rails AWS nicht wirksam wird?
Was tun, wenn Sie den Befehl "Java-Paketname / Klassenname" nicht ausführen können?
Was tun, wenn der Befehl adb nicht ausgeführt werden kann?
Was tun, wenn der Befehl Rails unbrauchbar wird?
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?
[Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?
[Ubuntu 20.04] Was tun, wenn der externe Monitor nicht erkannt wird?
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Hinweise, was zu tun ist, wenn das Eclipse Maven-Abhängigkeitsglas nicht korrekt ist
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
Was tun, wenn die App nicht mit der neuesten Rails-Version erstellt wurde, die bei neuen Rails installiert wurde?
Was tun, wenn JavaMail nicht mit OpenJDK 11 oder höher verwendet werden kann?
[IOS] Was tun, wenn das Bild mit einer Farbe gefüllt ist?
Was tun, wenn das Hintergrundbild nach der Bereitstellung nicht angewendet wird?
Was tun, wenn das Präfix c in JSP nicht gebunden ist?
Was tun, wenn Sie das Plug-In nicht vom Eclipse Marketplace installieren können?
Was tun, wenn Ihnen der von swagger-codegen-cli generierte Code nicht gefällt?
Was tun, wenn in CircleCI der Fehler zu lang ohne Ausgabe (über 10 m0s) angezeigt wird?
Was tun, wenn Sie falsche Informationen eingeben?
Was tun, wenn mvn archetype: generate fehlschlägt?
Was tun, wenn Sie das mit bootstrap-select erstellte Auswahlfeld nicht aktivieren können?
Was tun, wenn die Änderungen nicht in der JAR-Manifestdatei berücksichtigt werden?
Was tun, wenn Um die fehlende Version zu installieren, führen Sie `gem install bundler: 2.1.4` aus
Was tun, wenn der Build mit dem Fehler "Mit Swift x.x.x kompiliertes Modul kann vom Swift x.x.x-Compiler nicht importiert werden" fehlschlägt.
Was tun, wenn Sie aktiviert haben? Verwenden Sie die WSL2-basierte Engine in Docker Desktop mit unzureichender WSL2-Installation
So ändern Sie die Aktion mit mehreren Senden-Schaltflächen
Was tun, wenn beim Hochladen mit App Store Connect zu viele Symboldateien an die Wand stoßen?
Was tun, wenn das SSL-Zertifikat abgelaufen ist?
Dinge zu überprüfen, wenn Sie nicht mit Proguard arbeiten
Was tun, wenn beim Starten von Tomcat eine ClassNotFoundException auftritt?
Was tun, wenn Sie den Text eines Elements in Selen nicht abrufen können?
Was tun, wenn der Rails-Server nicht gestoppt werden kann?
Was muss ich tun, um die aktualisierte Docker-Datei neu zu laden?
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn ein ActionController :: UnknownFormat-Fehler auftritt?
Was tun, wenn die Routing-Einstellungen nach dem Erstellen einer Docker-Umgebung mit Laravel nicht funktionieren?
Was tun, wenn Android Studio sagt, dass "Ihre CPU vt-x oder svm nicht unterstützt"?
Was tun, wenn der Haltepunkt schattiert ist und beim Debuggen nicht stoppt?
[JMH] Was tun, wenn das JMH-Gradle-Plugin FAILURE: Build mit einer Ausnahme fehlschlägt? Beim Ausführen von me.champeau.gradle.IsolatedRunner [Gradle] ist ein Fehler aufgetreten.
[Java] [Spring] Was tun, wenn Sie nach dem Kommentieren von Spring Security nicht automatisch mit Type Mismatch verdrahten können?
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
[Schienen] Was tun, wenn die Ansicht zusammenbricht, wenn eine Nachricht mit der Fehlermethode angezeigt wird?