[RUBY] Que faire lorsque la validation ne fonctionne pas avec l'action de mise à jour

environnement

Ce que vous souhaitez mettre en œuvre

Refléter la validation dans l'action ʻupdate de controller.rb`.

Cause

Il est écrit à partir de «@ post.valid?» Dans l'instruction if de gestion des erreurs de l'action de mise à jour. Avec cette méthode d'écriture, la validation sera effective pour les informations déjà enregistrées.

post_controller.rb


def update
    if @post.valid?
      @post.update(post_params)
      flash[:notice] = "La modification est terminée"
      redirect_to post_path(@post.id)
    else
      flash.now[:alert] = "La modification a échoué"
      render :edit
    end
  end

Solution

En commençant à écrire depuis @ post.update (post_params), la validation fonctionnera normalement même avec les mises à jour.

post_controller.rb


def update
    if @post.update(post_params)
      flash[:notice] = "La modification est terminée"
      redirect_to post_path(@post.id)
    else
      flash.now[:alert] = "La modification a échoué"
      render :edit
    end
  end

Recommended Posts

Que faire lorsque la validation ne fonctionne pas avec l'action de mise à jour
Que faire si TextToSpeech ne fonctionne pas sur Android 11
Que faire si l'annotation JSON Hint ne fonctionne pas avec Lombok et JSONIC
Que faire si la page Rails n'est pas affichée dans le didacticiel Rails 1.3.2
Que faire si le serveur Tomcat meurt
Que faire si l'installation du gem de débogage échoue
Que faire si le serveur Rails ne peut pas démarrer
Que faire si la mise à jour ne prend pas effet après le déploiement de Rails AWS
Que faire si vous ne pouvez pas exécuter avec la commande "nom du package Java / nom de la classe"
Que faire si la commande adb ne peut pas être exécutée
Que faire si la commande rails devient inutilisable
Que faire si vous modifiez l'adresse d'écoute à partir de l'écran des paramètres dans le menu fixe Mattermost
Que faire si vous avez installé Ruby avec rbenv mais que la version ne change pas
[Rails] Que faire si vous ne pouvez pas obtenir de message d'erreur avec la méthode des erreurs
[Ubuntu 20.04] Que faire si le moniteur externe n'est pas reconnu
Que faire lorsque Cloud 9 est plein dans le didacticiel Rails
Remarques sur la marche à suivre si le Jar de dépendance Eclipse Maven est incorrect
Que faire si vous vous fâchez contre OpenSSL avec Pyenv Install
Que faire si vous oubliez votre mot de passe root sur CentOS7
[Rails] Que faire si vous ne pouvez pas obtenir de paramètres avec form_with
Que faire si l'application n'est pas créée avec la dernière version de Rails installée lorsque les rails sont neufs
Que faire si JavaMail ne peut pas être utilisé avec OpenJDK 11 ou version ultérieure
[IOS] Que faire lorsque l'image est remplie d'une seule couleur
Que faire si l'image d'arrière-plan n'est pas appliquée après le déploiement
Que faire lorsque le préfixe c n'est pas lié dans JSP
Que faire si vous ne pouvez pas installer le plug-in à partir d'Eclipse Marketplace
Que faire si vous n'aimez pas le code généré par swagger-codegen-cli
Que faire si vous obtenez l'erreur Trop long sans sortie (dépassé 10m0s) dans CircleCI
Que faire si vous transmettez des informations incorrectes
Que faire si l'archétype mvn: générer échoue
Que faire si vous ne pouvez pas activer la boîte de sélection créée par bootstrap-select
Que faire si les modifications ne sont pas reflétées dans le fichier manifeste JAR
Que faire quand Pour installer la version manquante, exécutez `gem install bundler: 2.1.4`
Que faire si la construction échoue avec l'erreur «Le module compilé avec Swift x.x.x ne peut pas être importé par le compilateur Swift x.x.x»
Que faire si vous avez activé Utiliser le moteur basé sur WSL2 dans Docker Desktop avec une installation WSL2 insuffisante
Comment changer l'action avec plusieurs boutons d'envoi
Que faire si vous frappez le mur de trop de fichiers de symboles lors du téléchargement avec App Store Connect
Que faire lorsque le certificat SSL a expiré
Choses à vérifier lorsque vous ne travaillez pas avec proguard
Que faire si une exception ClassNotFoundException se produit lors du démarrage de Tomcat
Que faire si vous ne pouvez pas obtenir le texte d'un élément dans Selenium
Que faire si le serveur rails ne peut pas être arrêté
Que dois-je faire pour recharger le Dockerfile mis à jour?
Que faire si vous créez accidentellement un modèle
Que faire si une erreur ActionController :: UnknownFormat se produit
Que faire lorsque les paramètres de routage ne fonctionnent pas après la création d'un environnement Docker avec Laravel
Que faire lorsque Android Studio indique que "votre processeur ne prend pas en charge vt-x ou svm"
Que faire si le point d'arrêt est grisé et ne s'arrête pas pendant le débogage
[JMH] Que faire si le plug-in JMH Gradle indique ÉCHEC: la compilation a échoué avec une exception. Un échec s'est produit lors de l'exécution de me.champeau.gradle.IsolatedRunner [Gradle]
[Java] [Spring] Que faire si vous ne pouvez pas utiliser Autowire avec une discordance de type après avoir annoté Spring Security
[Rails] Que faire si vous effectuez accidentellement une installation groupée dans un environnement de production de votre environnement local
[Rails] Que faire lorsque la vue se réduit lorsqu'un message est affiché avec la méthode des erreurs