[RUBY] [Rails] Quel était le message d'erreur?

Comment générer et afficher des messages d'erreur

produire

python


>> user = User.new

>> user.save    #Génération de message d'erreur
=> false

>> user.error.full_messages  
=> [Failed"", "invalid"]

Lors de l'enregistrement d'un objet, un message d'erreur est généré en tant qu'élément du tableau au moment où false est renvoyé.

afficher

erb


<% @user.errors.full_messages.each do |msg| %>
  <%= msg %>
<% end %>

Chaque élément du tableau peut être récupéré et affiché avec chaque instruction.

Attribut de classe qui n'apparaît qu'en cas d'erreur

class="field_with_errors" Il englobe automatiquement les parties d'entrée de la partie d'erreur.

la mise en oeuvre

Lors de l'utilisation de partiels, il est implémenté de manière à pouvoir gérer n'importe quel objet.

ruby:shared/_error_messages.html.erb


<% if object.errors.any? %>
  <div id="error_explanation">
    <div class="alert alert-danger alert-form-extend" role="alert">
      <%= object.errors.count %>Il y a une erreur
    </div>
    <ul>
      <% @user.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
    </ul>
  </div>
<% end %>

ruby:users/new.html.erb


<%= form_with(model: @user, url: users_path, local: true) do |form| %>
  <%= render 'shared/error_messages', object: form.object %>

users_controller.rb


def create
  @user = User.new(user_params)
  if @user.save
    ~~
  else
    render 'new'
  end
end

application.scss


#error_explanation {
  color: red;
  ul {
    color: red;
    padding-bottom: 0;
  }
}

.field_with_errors .form-control { 
  border-color: red;
}

Recommended Posts

[Rails] Quel était le message d'erreur?
[Rails] Traduisons le message d'erreur en japonais
Rails ~ Comprendre la fonction de message ~
[Rails] J'ai implémenté le message d'erreur de validation avec une communication asynchrone!
Ce qui m'intéressait dans le cours Ruby on Rails de Progate [chaque énoncé de message d'erreur]
[Rails] Que faire si vous ne pouvez pas obtenir de message d'erreur avec la méthode des erreurs
Obtenez un message d'erreur en utilisant n'importe quelle méthode?
Message Flash Rails
La route vers la japonaisisation des rails conçoit des messages d'erreur
Le message d'erreur du périphérique ne s'affiche pas correctement.
[Ruby on Rails] Comment japonaisiser le message d'erreur de l'objet Form (ActiveModel)
[Note] Liste des erreurs de rails
Que faire si le serveur Rails ne peut pas démarrer
Erreur de routage Catch Rails
Erreur d'installation de Mac Rails
[Rails] Quelle est la différence entre la redirection et le rendu?
Que dois-je utiliser pour le framework de test [Rails]
Maîtrisez la portée [Rails]!
[Rails] Que faire lorsque la vue se réduit lorsqu'un message est affiché avec la méthode des erreurs
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
[Rails] Quelle est la différence entre l'installation et la mise à jour du bundle?
Ce à quoi j'étais accro en utilisant rspec sur des rails
Je suis entré depuis Rails et je ne savais pas ce qu'était [attr_accessor]
Ce à quoi j'étais accro avec l'API REST Redmine
[Rails] Localisation japonaise du message d'erreur lors de l'utilisation de l'objet Form
Que faire si la commande rails devient inutilisable
[Mémorandum] Qu'est-ce qu'une erreur?
[Rails] Que faire lorsque l'erreur Aucune base de données sélectionnée et Base de données inconnue apparaît dans db: migrate
Je savais ce qu'était la réflexion
Quelle est la méthode pluck?
Qu'est-ce que Rails Gem Concevoir?
Erreur de rails Bibliothèque non chargée
[rails] Que sont les paramètres forts?
[Débutant en programmation] Que faire lorsque les rails deviennent une erreur dans l'environnement de développement local
Qu'est-ce que la classe BufferedReader?
[Variables environnementales] rails Quelles sont les variables environnementales?
Erreur lors de l'utilisation des rails capybara
A quoi sert le constructeur?
Avec l'erreur Cordova-> Looper.prepare ()
[rails] erreur lors de l'installation du périphérique
[Rails] Supprimer le fichier de migration
Qu'est-ce que Rails Active Record?
Quelle est la méthode d'initialisation?
J'ai essayé de résumer ce qui était demandé lors de l'édition site-java-
Que faire si la page Rails n'est pas affichée dans le didacticiel Rails 1.3.2