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
Sie können das Hash-Tag überprüfen, dem Sie zum Zeitpunkt der Veröffentlichung der Details folgen können.
Produkte mit demselben Tag werden am Ende des Links aufgereiht
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