[RUBY] Erhalten Sie eine Fehlermeldung mit einer beliebigen Methode

Ich möchte die Methoden zusammenfassen, die beim Anzeigen der Fehlermeldung verwendet werden.

Was ist die Methode?

Die any? -Methode gibt false zurück, wenn alle Elemente false sind. Wenn ein Element wahr ist, gibt es sofort wahr zurück.

Wie man schreibt ist so

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

Angenommen, Sie schreiben die Beschreibung einer Fehlermeldung in eine Teilvorlage und legen fest, dass sie nur angezeigt wird, wenn das Objekt Fehlerinformationen enthält.

app/controllers/items_controller.rb


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

Wenn das Speichern aufgrund von Validierung usw. mit dieser Beschreibung fehlschlägt Stellen Sie ein, um zur neuen Aktion zurückzukehren.

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



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

Bringen Sie das Modellobjekt mit den Fehlerinformationen zum Renderziel.

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 %>

Überprüfen Sie den Inhalt von Fehlern mit der any? -Methode. Wenn diese vorhanden ist, ist sie wahr und der Fehler wird wiederholt.

Es ist auch der gegenwärtigen Methode ziemlich ähnlich, aber der beliebigen Methode

Im obigen Beispiel wird die Fehlermeldung durch iterative Verarbeitung angezeigt.

Wenn Sie für jede Etikettenposition eine Fehlermeldung anzeigen möchten, können Sie die Methode include? Verwenden.

Recommended Posts

Erhalten Sie eine Fehlermeldung mit einer beliebigen Methode
[Rails] Was war die Fehlermeldung?
Java-Vergleich mit der compareTo () -Methode
[Schienen 6] zerstören mit der Ressourcenmethode
[Rails] Lassen Sie uns die Fehlermeldung ins Japanische übersetzen
Die Gerätefehlermeldung wird nicht richtig angezeigt.
Über die Methode
[Rails] Lösung, wenn bei Verwendung von Capybara mit Rspec der Fehler "undefined method` visit '" angezeigt wird
[Ruby] Schneiden Sie eine Zeichenfolge mit der Slice-Methode aus
Ich erhalte Mysql2 :: Error :: ConnectionError in der Produktionsumgebung
Untersuchen Sie die Elemente im Array mit der Methode [Ruby] include?
Ich möchte die Hauptmethode mit Reflektion aufrufen
Verwenden Sie die Standardmethode der Schnittstelle ordnungsgemäß?
Warum die get-Methode in der Calendar-Klasse benötigt wird
Über keinen Methodenfehler
[Ruby] Gewöhnen Sie sich an, beim Erstellen einer Kopie einer Zeichenfolgenvariablen die dup-Methode zu verwenden
Flash-Nachricht mit Gerät
Über die Längenmethode
Training mit der Methode each_with_index
Über die Kartenmethode
Über die Ahnenmethode
Informationen zur to_s-Methode.
Versuchen Sie es mit der Methode each_with_index
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
[Ruby] Zähle eine gerade Zahl in einem Array mit der geraden? -Methode
[Rails] Ich habe zum ersten Mal versucht, die button_to-Methode zu verwenden
[Rails] Ich habe die Validierungsfehlermeldung mit asynchroner Kommunikation implementiert!
Abrufen von Fehlerinformationen mithilfe von DefaultErrorAttributes und ErrorAttributeOptions in Spring Boot 2.3
[Rails] Japanische Lokalisierung der Fehlermeldung bei Verwendung des Formularobjekts