[JAVA] Implementierung der Ajax-Entfernung in Rails

Einführung

Dieses Mal werden wir eine asynchrone Löschfunktion mit Rails und js implementieren. Bitte beachten Sie, dass jQuery nicht zum Erlernen von einfachem js verwendet wird. Da ich ein Anfänger in der Programmierung bin, weisen Sie bitte auf Fehler hin!

Was ist Ajax überhaupt?

Ajax wird auch als asynchrone Kommunikation bezeichnet und ist der Vorgang, bei dem nur Änderungen an den geänderten Teilen des Bildschirms vorgenommen werden, ohne den Bildschirm zu ändern. Infolgedessen wird die Ladezeit verkürzt, da kein unnötiges Rendern durchgeführt wird und Benutzer den Dienst bequem nutzen können. Übrigens zeichnet die synchrone Kommunikation den gesamten Bildschirm neu. Selbst wenn das geänderte Teil ein Teil ist, wird der gesamte Bildschirm gerendert. Es kann für den Benutzer etwas stressig sein.

Unterschied zwischen synchroner Kommunikation und asynchroner Kommunikationsverarbeitung

Die synchrone Kommunikation wechselt nach Abschluss des Löschvorgangs zur Aktion des angegebenen Controllers und sucht nach der Datei action name.html.erb. Die asynchrone Kommunikation ist dagegen dieselbe, bis die Aktion des angegebenen Controllers ausgeführt wird. Anschließend wird nach der Datei action name.js.erb gesucht. Bitte beachten Sie den Ablauf dieser Prozesse und versuchen Sie danach zu implementieren.

Schritt 1 Remote: Fügen Sie die Option true hinzu

<li><%= link_to 'Löschen', category_path(category.id), method: :delete, remote: true, class:'category-destroy' %></li>

Fügen Sie remote: true zur Beschreibung von link_to hinzu. Allein damit können Sie eine Anfrage vom HTML-Format zum JS-Format senden.

Schritt 2 Beschreiben Sie die js-Verarbeitung in der Datei destroy.js.erb

Durch Hinzufügen von remote: true suchen wir nach der js-Datei. Darüber hinaus können Sie mit js.erb die Ruby-Syntax in die js-Beschreibung einbetten. Diese Datei wird als Ansichtsdatei behandelt. Speichern Sie sie daher im entsprechenden Ansichtsordner. Sie übergeben die Informationen, die Sie löschen möchten, mit querySelector ("# category- <% = @ category.id%>"). Das angegebene Ziel wird mit .remove () entfernt. Mit diesen Beschreibungen können Sie bestimmte Elemente in der Ansicht löschen. Übrigens wird es aus der Datenbank gelöscht, auch wenn Sie keine js schreiben, aber Sie müssen js schreiben, da es nicht vom Bildschirm verschwindet, wenn Sie es nicht neu laden.

app/views/categories/destroy.js.erb

(function(){
  document.querySelector("#category-<%= @category.id %>").remove()
})();

Schließlich

Damit ist die Löschfunktion durch asynchrone Kommunikation abgeschlossen! Die asynchrone Kommunikation über Schienen ist sehr einfach zu implementieren, daher sollten auch Anfänger sie unbedingt ausprobieren! Ich hoffe dieser Artikel hilft Anfängern. Bitte weisen Sie auf Fehler hin!

Recommended Posts

Implementierung der Ajax-Entfernung in Rails
Implementierung einer ähnlichen Funktion (Ajax)
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung des logischen Löschens durch den Benutzer
[Rails] Implementierung der CSV-Importfunktion
[Rails] Asynchrone Implementierung der Like-Funktion
[Rails] Implementierung der Bildvorschau
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der CSV-Exportfunktion
[Rails] Implementierung von Viele-zu-Viele-Kategoriefunktionen
Rails [Für Anfänger] Implementierung der Kommentarfunktion
[Ruby on Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung einer Validierung, die die Eindeutigkeit beibehält
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
[Rails] Implementierung der Bildvergrößerungsfunktion mit Lightbox2
[Rails] Implementierung von "Benachrichtigung auf irgendeine Weise benachrichtigen"
[Rails] Implementierung des PV-Nummernrankings mit Impressionist
[Rails] Implementierung einer Bild-Diashow mit Bootstrap 3
Implementierung der Rails-Hashtag-Suche
Implementierung des Rails6-Countdown-Timers
[Schienen] gem'payjp'implementierungsverfahren
Implementierung der Kommentarfunktion (Ajax)
[Rails] Einführung von PAY.JP
Implementierung von Rails Action Text
Implementierung der Ajax-Funktion (Follow Function)
Implementierung der Suchfunktion
Angewandte Implementierung von Chat-Space
Implementierung der Pagenationsfunktion
[Ruby on Rails] Asynchrone Kommunikation der Posting-Funktion, Ajax
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Vorbereitung"
[Schienen] Beachten Sie bei der Verwendung von Ajax die "CSRF-Maßnahmen".
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der "Seed Edition" der Vorfahren
Erklärung von Ruby on Rails für Anfänger ⑦ ~ Flash-Implementierung ~
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Edit Form Edition"
Implementierung der Fuzzy-Suchfunktion für Schienen
[Rails] Einführung in die Grundlagen der Entwicklung
[Rails] Implementierung der automatischen Adresseneingabe mit jpostal und jp_prefecture
Implementierung der sequentiellen Suchfunktion
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Erstellungsformular"
Verwendung des booleschen Rails-Typs