Erklärung von Ruby on Rails für Anfänger ⑦ ~ Flash-Implementierung ~

Einführung

Diese Zeit ist eine Fortsetzung des vorherigen Artikels.

Bitte lesen Sie den vorherigen Artikel, wenn Sie möchten.

Dieses Mal werde ich über Flash zusammenfassen.

Erklärung von Ruby on Rails für Anfänger ①

Erklärung von Ruby on Rails für Anfänger ② ~ Erstellen von Links ~

Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~

Erklärung von Ruby on Rails für Anfänger ④ ~ Verwendung von Namensregeln und form_Tag ~

Erklärung von Ruby on Rails für Anfänger ⑤ ~ Datenbank bearbeiten und löschen ~

Erklärung von Ruby on Rails für Anfänger ⑥ ~ Erstellung der Validierung ~

Was ist ein Blitz?

Ich habe es auf Twitter versucht, um ein konkretes Beispiel zu finden.

image.png

Der Teil, in dem der eingegebene Benutzername ~ ist, ist der Blitz.

Der Blitz wird nur einmal auf der Seite angezeigt, und der Blitz verschwindet, wenn die Seite aktualisiert oder auf eine andere Seite verschoben wird.

image.png

Lassen Sie uns diesen Flash implementieren.

Flash-Implementierung

Eine spezielle Variable, Blitz, wird zur Anzeige von Blitzen auf Schienen bereitgestellt.

Sie können es in Ihrer Ansichtsdatei verwenden, indem Sie der Variablen "flash [: note]" in der Aktion eine Zeichenfolge zuweisen. Der Blitz soll nach seiner Verwendung automatisch gelöscht werden.

Da Flash häufig an vielen Orten verwendet wird, ist es auch praktisch, es in der Datei application.html.erb zu verwenden.

Was in der Datei application.html.erb geschrieben ist, wird allen Ansichtsdateien gemeinsam angezeigt.

Geben Sie Folgendes in die Datei application.html.erb unter dem Ordner views >> layouts ein, damit der Flash angezeigt werden kann.

application.html.erb


<% if flash[:notice]%>
  <div class="flash">
    <%= flash[:notice]%>
  </div>
<% end %>

Jetzt können Sie den Blitz sehen, falls vorhanden.

Wie auch immer, lassen Sie uns auch CSS einstellen.

application.css


.flash {
    background-color: brown;
    color: white;
}

Schreiben wir den Posts-Controller wie folgt um und weisen die Fehlermeldung flash [: Notice] zu.

posts_controller.rb


def create
  post = Post.new(content: params[:content])
  @content = params[:content]
  if post.save
    flash[:notice] = "Erfolgreich gepostet"
    redirect_to("/posts/all")
  else
    flash[:notice] = post.errors.full_messages[0]
    render("posts/new")
  end
end

Wenn der Teil "post.save" fehlschlägt, werden die Fehlermeldungen als Liste in "post.errors.full_messages" gespeichert, sodass der erste Wert in "flash [: Notice]" gespeichert wird. .. Wenn der Beitrag erfolgreich ist, speichern Sie diese Tatsache in "flash [: Notice]".

Sie haben jetzt den Flash implementiert.

Probieren wir es aus.

Öffnen wir die folgende Datei new.html.erb. Darüber hinaus lautet die Validierung wie folgt.

new.html.erb


<%= form_tag("/posts/create") do  %>  
  <textarea name="content" cols="30" rows="10"><%= @content%></textarea>
  <input type="submit" value="Senden">
<% end %>

post.rb


class Post < ApplicationRecord
    validates :content, {presence: true}
    validates :content, {length: {maximum: 20}}
end

image.png

Drücken Sie als Test auf Senden, ohne einen Wert einzugeben. Es wird validiert und die Fehlermeldung in flash [: Notice] gespeichert.

image.png

Geben Sie als Nächstes 20 Zeichen oder mehr ein und drücken Sie Senden. Die folgende Fehlermeldung wird angezeigt:

image.png

Versuchen wir nun, ob der Beitrag erfolgreich ist. Es wird wie folgt sein.

image.png

Es ging gut.

Am Ende

Das ist alles für diesen Artikel.

Vielen Dank für Ihre Beziehung.

Recommended Posts

Erklärung von Ruby on Rails für Anfänger ⑦ ~ Flash-Implementierung ~
Erklärung von Ruby auf Schienen für Anfänger ①
Erklärung von Ruby on Rails für Anfänger ② ~ Links erstellen ~
Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
Erklärung von Ruby on Rails für Anfänger ⑤ ~ Datenbank bearbeiten und löschen ~
[Verfahren 1 für Anfänger] Ruby on Rails: Aufbau einer Entwicklungsumgebung
[Ruby on Rails] Implementierung einer ähnlichen Funktion
Erklärung von Ruby on Rails für Anfänger ④ ~ Informationen zu Benennungsregeln und zur Verwendung von form_Tag ~
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
Grundkenntnisse in Ruby on Rails
[Ruby on Rails] Implementierung der Kommentarfunktion
[Ruby on Rails] Einführung der Anfangsdaten
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
[Ruby on Rails] Japanische Fehlernotation
Validierungseinstellungen für die Ruby on Rails-Anmeldefunktion
[Ruby on Rails] Bis zur Einführung von RSpec
Empfehlung der Serviceklasse in Ruby on Rails
[Ruby on Rails] Select2-Einführungsnotiz für Webpacker
Ruby on Rails ~ Grundlagen von MVC und Router ~
[Ruby on Rails] Ein Memorandum mit Layoutvorlagen
Ruby on Rails Implementierung der automatischen Mail-Sendefunktion
[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails
Ruby on Rails So implementieren Sie die automatische Adresseneingabe
[Ruby on Rails] Individuelle Anzeige von Fehlermeldungen
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby On Rails Association
[Ruby on Rails] Asynchrone Kommunikation der Posting-Funktion, Ajax
Versuchen Sie es mit dem Ruby on Rails-Abfrageattribut
[Ruby on Rails] Implementierung einer Validierung, die nur funktioniert, wenn die Bedingungen erfüllt sind
Implementierung der Ajax-Entfernung in Rails
Ruby on Rails Lernrekord -2020.10.03
Portfolioerstellung Ruby on Rails
Ruby on Rails Lernrekord -2020.10.04
Ruby on Rails Lernrekord -2020.10.09
Ruby on Rails lernen Rekord-2020.10.07 ②
[Rails] Implementierung der Kategoriefunktion
(Für Anfänger) [Rails] Installieren Sie das Gerät
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
[Rails] Implementierung der Tutorial-Funktion
Ruby on Rails Lernrekord -2020.10.06
[Rails] Implementierung einer ähnlichen Funktion
Zusammenfassung der Ruby on Rails-Validierung