[RUBY] Implementierung der Rails-Hashtag-Suche

Dieses Mal haben wir die Hash-Tag-Funktion in Rails implementiert. https://glodia.jp/blog/3936/ Ich habe auf die Seite von verwiesen.

Abschlusszeichnung Wenn Sie beim Auflisten eines Produkts ein Tag hinzufügen

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

Sie können das Hash-Tag überprüfen, dem Sie zum Zeitpunkt der Veröffentlichung der Details folgen können. スクリーンショット 2020-09-07 18.45.37.png

Produkte mit demselben Tag werden am Ende des Links aufgereiht スクリーンショット 2020-09-07 18.57.37.png

Implementierungsmethode 1 Produkttabellenelemente und Tag-Tabellen-Tags sind durch eine Zwischentabelle verbunden 2 Schreiben Sie eine Beschreibung in den Helfer, um den Tag-Namen zu verknüpfen.

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

Das erste Argument ist der Name des Tags und das zweite Argument ist die ID des in der Zwischentabelle gespeicherten Tags. Durch Ersetzen der URL durch die Methode gsub und Hinzufügen der Methode html_safe kann die Escape-Verarbeitung vermieden und die Ansicht in Form von "# name" verknüpft werden. Geben Sie in der Beschreibung von? Tag_id = # {tag_id} die ID des Tags in den Link ein

3 Implementierung des Routings

routes.rb


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

Ich denke, es ist am besten, im Item-Controller zu nisten

4 Controller-Implementierung

items_controller.rb


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

Übergeben Sie die im Link in 2 vorbereitete tag_id mit params und suchen Sie nach dem entsprechenden Tag Fügen Sie das Produkt mit dem entsprechenden Tag in die Variable ein

5 Implementieren Sie eine Ansicht mit @items für jede Methode, genau wie beim Erstellen einer detaillierten Beitragsliste

erledigt!

Recommended Posts

Implementierung der Rails-Hashtag-Suche
Implementierung der Fuzzy-Suchfunktion für Schienen
[Rails] Implementierung der Suchfunktion mit Gem's Ransack
Implementierung des Rails6-Countdown-Timers
[Schienen] gem'payjp'implementierungsverfahren
Implementierung von Rails Action Text
Implementierung der Suchfunktion
Suchfunktion [Implementierung kopieren und einfügen]
Implementierung der Ajax-Entfernung in Rails
[Schienen] Implementieren Sie die Benutzersuchfunktion
Suchfunktion mit [Rails] Ransack
Implementierung der sequentiellen Suchfunktion
[Rails] Erstellen eines Suchfelds
[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
Fügen Sie eine Suchfunktion in Rails hinzu.
[Rails] Implementierung des Anmeldebildschirms in Devise
[Rails] Implementierung der Bildvorschau
Hash-Tag-Suche wie Insta und Twitter in Rails implementiert (kein Juwel)
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der CSV-Exportfunktion
[Rails] Implementierung von Viele-zu-Viele-Kategoriefunktionen
Implementierung der Funktionsfunktion [Rails] gem ancestry category
[Ruby on Rails] Implementierung der Kommentarfunktion
[Rails] Memo zur Implementierung der Kommentarfunktion
Zeitlose Suche mit Rails + JavaScript (jQuery)
[Ruby on Rails] Suchfunktion (nicht ausgewählt)
So implementieren Sie Suchfunktionen in Rails
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
Rails [Für Anfänger] Implementierung der Kommentarfunktion
Rails Grundgerüst für die Implementierung der CRUD-Funktion
[Rails] Zusammenfassung der Methoden zur Konvertierung / Überprüfung / Suche
[Rails] Buchsuche mit Amazon PA API
[Ruby on Rails] Implementierung einer ähnlichen Funktion
[Java] Neue Spezifikation Implementierung der Yahoo! -Produktsuch-API
[Rails] Implementierung einer Validierung, die die Eindeutigkeit beibehält