[RUBY] Obtenez un message d'erreur en utilisant n'importe quelle méthode?

Je voudrais résumer les méthodes utilisées lors de l'affichage du message d'erreur.

Quelle est la méthode any?

La méthode any? Renvoie false si tous les éléments sont faux. Si un élément est vrai, il renvoie immédiatement vrai.

Comment écrire c'est comme ça

p [false, nil].any? # => false

Par exemple, supposons que vous écriviez la description d'un message d'erreur dans un modèle partiel et que vous le définissiez pour qu'il s'affiche uniquement lorsque l'objet contient des informations d'erreur.

app/controllers/items_controller.rb


def create
    @item = Item.new(item_params)
    if @item.save
      redirect_to root_path
    else
      render :new
    end
  end

Lorsque l'enregistrement échoue en raison de la validation, etc. avec cette description Réglez pour revenir à la nouvelle action.

ruby:app/views/items/new.html.erb



  <%= form_with model: @item, local: true do |f| %>
      <%= render 'shared/error_messages', model: @item %> 

Apportez l'objet de modèle avec les informations d'erreur à la destination du rendu.

ruby:app/views/shared/_error_messages.html.erb



<% if model.errors.any? %>
<div class="error-alert">
  <ul>
    <% model.errors.full_messages.each do |message| %>
    <li class='error-message'><%= message %></li>
    <% end %>
  </ul>
</div>
<% end %>

Vérifiez le contenu des erreurs avec la méthode any?, Et si elle existe, elle sera vraie et l'erreur se répétera.

Également assez similaire à la méthode actuelle, mais la méthode any

Dans l'exemple ci-dessus, le message d'erreur est affiché par un traitement itératif.

Si vous souhaitez afficher un message d'erreur pour chaque emplacement d'étiquette, vous pouvez utiliser la méthode include ?.

Recommended Posts

Obtenez un message d'erreur en utilisant n'importe quelle méthode?
[Rails] Quel était le message d'erreur?
Comparaison Java à l'aide de la méthode compareTo ()
[Rails 6] détruit en utilisant la méthode des ressources
[Rails] Traduisons le message d'erreur en japonais
Le message d'erreur du périphérique ne s'affiche pas correctement.
À propos de la méthode
[Rails] Solution lorsque l'erreur "visite de la méthode non définie" "apparaît lors de l'utilisation de Capybara avec Rspec
[Ruby] Découpez une chaîne de caractères à l'aide de la méthode slice
J'obtiens Mysql2 :: Error :: ConnectionError dans l'environnement de production
Examinez les éléments du tableau à l'aide de la méthode [Ruby] includes?
Je veux appeler la méthode principale en utilisant la réflexion
Utilisez-vous correctement la méthode par défaut de l'interface?
Pourquoi la méthode get est nécessaire dans la classe Calendar
À propos de Aucune erreur de méthode
[Ruby] Prenez l'habitude d'utiliser la méthode dup lors de la copie d'une variable chaîne
Message flash à l'aide de devise
À propos de la méthode de longueur
Formation à l'aide de la méthode each_with_index
À propos de la méthode cartographique
À propos de la méthode des ancêtres
À propos de la méthode to_s.
Essayez d'utiliser la méthode each_with_index
Comment obtenir le nom d'une classe / méthode exécutée en Java
[Ruby] Comptez un nombre pair dans un tableau en utilisant la méthode pair?
[Rails] J'ai essayé d'utiliser la méthode button_to pour la première fois
[Rails] J'ai implémenté le message d'erreur de validation avec une communication asynchrone!
Obtenez des informations d'erreur à l'aide de DefaultErrorAttributes et ErrorAttributeOptions dans Spring Boot 2.3
[Rails] Localisation japonaise du message d'erreur lors de l'utilisation de l'objet Form