[RUBY] Implémentation de la recherche par hashtag Rails

Cette fois, nous avons implémenté la fonction de balise de hachage dans les rails. https://glodia.jp/blog/3936/ J'ai fait référence au site de.

Dessin d'achèvement Si vous ajoutez une balise lors de la mise en vente d'un produit

スクリーンショット 2020-09-07 18.44.13.png

Vous pouvez vérifier la balise de hachage que vous pouvez suivre le lien au moment de la publication des détails, スクリーンショット 2020-09-07 18.45.37.png

Les produits avec le même tag sont alignés à la fin du lien スクリーンショット 2020-09-07 18.57.37.png

Méthode de mise en œuvre 1 Les éléments de la table des produits et les balises de la table des balises sont reliés par une table intermédiaire 2 Écrivez une description dans l'assistant pour lier le nom de la balise.

items_helper.rb


def render_with_hashtags(tag_name, tag_id)
tag_name.gsub(/[##][\w\p{Han}Ah-Gae-゚]+/){|word| link_to word, "/item/hashtag/#{word.delete("#")}?tag_id=#{tag_id}"}.html_safe
end

Le premier argument est le nom de la balise et le second argument est l'id de la balise stockée dans la table intermédiaire. En remplaçant url par la méthode gsub et en ajoutant la méthode html_safe, le traitement d'échappement peut être évité et la vue peut être liée sous la forme de "# nom". Dans la description de? Tag_id = # {tag_id}, mettez l'id du tag dans le lien

3 Mise en œuvre du routage

routes.rb


 get '/item/hashtag/:name', to: "items#hashtag"

Je pense qu'il est préférable de se nicher dans le contrôleur d'objet

4 Implémentation du contrôleur

items_controller.rb


def hashtag
  @tag = Tag.find(params[:tag_id])
  @items = @tag.items
end

Passez le tag_id préparé dans le lien en 2 avec les paramètres et recherchez le tag correspondant Mettez le produit avec l'étiquette correspondante dans la variable

5 Implémentez une vue en utilisant @items pour chaque méthode, comme lors de la création d'une liste de publications détaillée

terminé!

Recommended Posts

Implémentation de la recherche par hashtag Rails
Implémentation de la fonction de recherche floue Rails
[Rails] Implémentation de la fonction de recherche en utilisant le ransack de gem
Implémentation du compte à rebours Rails6
[rails] gem'payjp'implementation procedure
Implémentation de Rails Action Text
Implémentation de la fonction de recherche
Fonction de recherche [implémentation copier-coller]
Implémentation de la suppression d'ajax dans Rails
[Rails] Implémenter la fonction de recherche d'utilisateurs
Fonction de recherche à l'aide de [rails] ransack
Implémentation de la fonction de recherche séquentielle
[Rails] Création d'un champ de recherche
[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
Ajoutez une fonction de recherche dans Rails.
[rails] Implémentation de l'écran de connexion dans la devise
[Rails] Implémentation de la fonction de prévisualisation d'image
Implémentation de la recherche de balises de hachage comme Insta et Twitter dans Rails (pas de gemme)
[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] Implémentation de la fonction de catégorie d'ascendance gemme
[Ruby on Rails] Implémentation de la fonction de commentaire
[Rails] Commentaire mémo de procédure d'implémentation
Recherche intemporelle avec Rails + JavaScript (jQuery)
[Ruby on Rails] Fonction de recherche (non sélectionnée)
Comment implémenter la fonctionnalité de recherche dans Rails
[Ruby on Rails] Suivez l'implémentation de la fonction: bidirectionnelle
Rails [Pour les débutants] Implémentation de la fonction de commentaire
Échafaudage de procédure d'implémentation de fonction CRUD de base
[Rails] Résumé des méthodes de conversion / vérification / recherche
[Rails] Recherche de livres avec l'API Amazon PA
[Ruby on rails] Implémentation d'une fonction similaire
[Java] Nouvelle spécification Implémentation de l'API de recherche de produits Yahoo!
[Rails] Mise en œuvre de la validation qui maintient l'unicité