[RUBY] Implémentation appliquée de l'espace de chat

introduction

Cet article résume la mise en œuvre de l'application du soi-disant espace de discussion qui apparaît dans une certaine école de programmation. Quand j'ai terminé mes études, je me suis souvenu qu'il y avait une implémentation d'application, alors j'ai écrit un article.

Immédiatement, ce qu'est une implémentation d'application est de vous assurer que vous ne recherchez même pas les utilisateurs que vous avez ajoutés à un groupe. 画面収録 2020-06-14 22.54.10.mov.gif

Quel est le déroulement du fonctionnement de cette fonction?

① Entrez le mot-clé (entrée).

② Lorsqu'un événement se produit, obtenez l'identifiant de l'utilisateur affiché sur le membre du chat dans un tableau (identifiants)

③ Après cela, transmettez simplement les entrées et les identifiants lors de la communication Ajax et recherchez les utilisateurs qui n'incluent pas les identifiants.

Si vous décrivez ce qui précède dans le code source, ce sera comme suit (seule la partie modifiée est affichée).

 let input = $("#user-search-field").val();
    let ids = [];
    $.each( $(".chat-group-user").find("input"), function(key,value){
      ids.push(  $(value).attr("value") );
    })
    $.ajax({
      type: "GET",
      url: "/users",
      data: { keyword: input,ids: ids },
      dataType: "json"
    })
 def index
    @users = User.search(params[:keyword], params[:ids])
    respond_to do |format|
      format.html
      format.json
    end
end
  def self.search(input, ids)
    return nil if input == ""
    User.where(['name LIKE ?', "%#{input}%"] ).where.not(id: ids).limit(10)
  end

Recommended Posts

Implémentation appliquée de l'espace de chat
Implémentation de la fonction de recherche
Mise en œuvre de la fonction de pagénation
Implémentation de la suppression d'ajax dans Rails
Implémentation de la fonction de recherche séquentielle
Implémentation d'une fonction similaire (Ajax)
Implémentation de la fonction de prévisualisation d'image
[Java] Implémentation du réseau Faistel
Implémentation de XLPagerTabStrip avec TabBarController
[Rails] Implémentation de la fonction de catégorie
Mise en œuvre de la fonction déroulante de catégorie
[Rails] Implémentation de la fonction tutoriel
[Rails] Implémentation d'une fonction similaire
Implémentation Java de tri-tree
Implémentation de HashMap avec kotlin
[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
Implémentation facile de la navigation de fichiers Android
[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
Implémentation du traitement asynchrone dans Tomcat
Implémentation de la validation à l'aide d'expressions régulières
[Rails] Implémentation de fonctions de catégorie plusieurs à plusieurs
Implémentation par défaut de Object.equals () et Object.hashCode ()
Implémentation d'une fonction similaire en Java
[Android] Implémentation de ListView à défilement latéral à l'aide de RecyclerView
Localisation de l'implémentation de référence JAXB et de DatatypeConverterImpl
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (2)
[Swift 5] Implémentation de l'enregistrement des membres dans Firebase
Implémentation du traitement asynchrone compatible multi-tenant dans Tomcat
Rails [Pour les débutants] Implémentation de la fonction de commentaire
Implémentation des onglets à l'aide de TabLayout et ViewPager
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (3)
[Ruby on rails] Implémentation d'une fonction similaire
[Rails] Mise en œuvre de la validation qui maintient l'unicité
[Mise en œuvre] Éliminez l'odeur inquiétante du code