[JAVA] Implémentation de la suppression d'ajax dans Rails

introduction

Cette fois, nous allons implémenter une fonction de suppression asynchrone utilisant rails et js. Veuillez noter que jQuery n'est pas utilisé pour apprendre js. De plus, puisque je suis un débutant en programmation, veuillez signaler toute erreur!

Qu'est-ce que l'ajax en premier lieu?

Ajax est également appelé communication asynchrone et consiste à apporter des modifications uniquement aux parties modifiées de l'écran sans modifier l'écran. En conséquence, le temps de chargement est raccourci car le rendu inutile n'est pas effectué et les utilisateurs peuvent utiliser le service confortablement. À propos, la communication synchrone redessine tout l'écran, donc même si la partie modifiée est une partie, l'écran entier sera rendu. Cela peut être un peu stressant pour l'utilisateur.

Différence entre la communication synchrone et le traitement de la communication asynchrone

La communication synchrone passe à l'action du contrôleur spécifié lorsque la suppression est terminée et recherche le fichier nom de l'action.html.erb. La communication asynchrone, en revanche, est la même jusqu'à ce que l'action du contrôleur spécifié soit exécutée, après quoi il recherche le fichier action name.js.erb. Soyez conscient du déroulement de ces processus et essayez de mettre en œuvre après cela.

Étape 1 à distance: ajouter la vraie option

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

Ajouter remote: true à la description de link_to. Avec cela seul, vous pouvez envoyer une demande du format HTML au format JS.

Étape 2 Décrivez le traitement js dans le fichier destroy.js.erb

En ajoutant remote: true, nous rechercherons le fichier js. De plus, en utilisant js.erb, vous pouvez incorporer la syntaxe ruby dans la description js. Ce fichier est traité comme un fichier de vue, veuillez donc le stocker dans le dossier de vues correspondant. Vous transmettez les informations que vous souhaitez supprimer avec querySelector ("# category- <% = @ category.id%>"). La cible spécifiée est supprimée avec .remove (). Avec ces descriptions, vous pouvez effacer certains éléments de la vue. En passant, même si vous n'écrivez pas js, il est supprimé de la base de données, mais il ne disparaîtra pas de l'écran à moins que vous ne le rechargiez, vous devez donc écrire js.

app/views/categories/destroy.js.erb

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

finalement

Ceci termine la fonction de suppression par communication asynchrone! La communication asynchrone utilisant des rails est très facile à mettre en œuvre, donc même les débutants devraient absolument l'essayer! J'espère que cet article aidera les débutants. Veuillez signaler toute erreur!

Recommended Posts

Implémentation de la suppression d'ajax dans Rails
Implémentation d'une fonction similaire (Ajax)
[Rails] Implémentation de la fonction de catégorie
[Rails] Implémentation de la fonction tutoriel
[Rails] Implémentation d'une fonction similaire
[Rails] Implémentation de la suppression logique utilisateur
[Rails] Implémentation de la fonction d'importation CSV
[Rails] Implémentation asynchrone de la fonction similaire
[Rails] Implémentation de la fonction de prévisualisation d'image
[Rails] À propos de la mise en œuvre de la fonction similaire
[Rails] Implémentation de la fonction de retrait utilisateur
[Rails] Implémentation de la fonction d'exportation CSV
[Rails] Implémentation de fonctions de catégorie plusieurs à plusieurs
Rails [Pour les débutants] Implémentation de la fonction de commentaire
[Ruby on rails] Implémentation d'une fonction similaire
[Rails] Mise en œuvre de la validation qui maintient l'unicité
Implémentation de la fonction de connexion Ruby on Rails (Session)
[Rails] Implémentation de la fonction d'agrandissement d'image à l'aide de lightbox2
[Rails] Mise en œuvre de "notifier la notification d'une manière ou d'une autre"
[Rails] Mise en œuvre du classement des nombres PV à l'aide de l'impressionniste
[Rails] Implémentation du diaporama d'images à l'aide de Bootstrap 3
Implémentation de la recherche par hashtag Rails
Implémentation du compte à rebours Rails6
[rails] gem'payjp'implementation procedure
Implémentation de la fonction de commentaire (Ajax)
[Rails] Présentation de PAY.JP
Implémentation de Rails Action Text
Suivez l'implémentation de la fonction (Ajax)
Implémentation de la fonction de recherche
Implémentation appliquée de l'espace de chat
Mise en œuvre de la fonction de pagénation
[Ruby on Rails] Communication asynchrone de la fonction de publication, ajax
[Rails] Implémentation de la fonction glisser-déposer (avec effet)
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Préparation"
[Rails] Lorsque vous utilisez ajax, faites attention aux "mesures CSRF".
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "seed edition"
Explication de Ruby on rails pour les débutants ⑦ ~ Implémentation Flash ~
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Edit Form Edition"
Implémentation de la fonction de recherche floue Rails
[Rails] Introduction aux principes de base du dispositif
[Rails] Implémentation de la saisie d'adresse automatique avec jpostal et jp_prefecture
Implémentation de la fonction de recherche séquentielle
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "Formulaire de création"
Utilisation du type booléen Rails