[RUBY] Erstellen Sie eine Filterfunktion mit Acts-as-Taggable-On

Umgebung

Vorbereitungen

Es wird davon ausgegangen, dass die folgenden Funktionen erstellt wurden.

--Posting-Funktion

Verfahren

Tag speichern

Fügen Sie dem Modell, das Sie markieren möchten, Folgendes hinzu.

micropost.rb


acts_as_taggable

Fügen Sie den zu speichernden starken Parametern Folgendes hinzu. Ich werde auch für alle Fälle erstellen.

microposts_controller.rb


 def create
    @micropost = Micropost.new(micropost_params.merge(user_id: current_user.id))
    if @micropost.save
      redirect_to @micropost, flash:{success: "Gesendet"}
    else
      render :new
    end
 end

 def show
    @micropost = Micropost.find(params[:id])
 end

 private

 def micropost_params
   params.require(:micropost).permit(:content, :image, :tag_list)
 end

Ansichten erstellen und anzeigen

Fügen Sie Ihrer Ansicht Folgendes hinzu: Erstellen Sie eine Eingabeansicht und eine Anzeigeansicht.

new.html.slim


= form_with model:  micropost, local: true do |f|
  .form-group
    = f.label :tag
    //,Getrennt durch
    = f.text_field :tag_list, value: @micropost.tag_list.join(","), class: "form-control"
  = f.submit "Senden", class: "btn btn-primary"

show.html.slim


table.table.table-hover
    today
      tr
        th = Micropost.human_attribute_name(:tag)
        td
          - @micropost.tag_list.each do |tag|
            = link_to tag, microposts_path(tag_name: tag), class: "micropost_tags__link"

Implementierung der Filterfunktion

microposts_controller.rb


  def index
    @q = Micropost.ransack(params[:q])
    if params[:tag_name]
      #Gibt Informationen für denselben ausgewählten Beitrag zurück
      @microposts = Micropost.tagged_with(params[:tag_name]).page(params[:page])
    elsif params[:q]
      #Geben Sie eine Liste der Beiträge zurück
      @microposts = @q.result(distinct: true).page(params[:page])
    else
      @microposts = Micropost.page(params[:page])
    end
  end

Am Ende

Wenn Sie einen Fehler machen, stellen Sie bitte eine Bearbeitungsanfrage oder einen Kommentar.

Recommended Posts

Erstellen Sie eine Filterfunktion mit Acts-as-Taggable-On
Erstellen Sie eine Anmeldefunktion mit Swift's Optional
Erstellen Sie eine Lotterie mit Ruby
Erstellen Sie mit der Sitzungsfunktion einen Anmeldeauthentifizierungsbildschirm
Erstellen Sie ein Tomcat-Projekt mit Eclipse
[Rails] Tag-Verwaltungsfunktion (unter Verwendung von Acts-as-Taggable-On)
Erstellen Sie ein Java-Projekt mit Eclipse
[Implementierungsverfahren] Erstellen Sie eine Benutzerauthentifizierungsfunktion mithilfe von Hexerei in Rails
Erstellen Sie mit Docker schnell eine Webumgebung
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
Erstellen Sie mit Grape einen RESTful-API-Service
Erstellen Sie mit Docker sofort eine Privoxy + Tor-Umgebung
Erstellen wir eine REST-API mit WildFly Swarm.
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
Tag-Funktion zu Rails hinzufügen. Verwenden Sie Acts-as-Taggable-On
Tag-Funktion mit Acts-as-Taggable-On für Devise My Memo
Erstellen Sie eine Spring Boot-Anwendung mit IntelliJ IDEA
[Rails] Ich habe eine Entwurfsfunktion mit enum erstellt
Erstellen Sie eine Java-Entwicklungsumgebung mit jenv auf Ihrem Mac
Erstellen einer EC-Site mit Rails 5 ⑨ ~ Erstellen einer Warenkorbfunktion ~
Ein Memorandum beim Versuch, eine GUI mit JavaFX zu erstellen
[Rails DM] Erstellen wir eine Benachrichtigungsfunktion, wenn DM gesendet wird!
Erstellen Sie ein Tomcat-Projekt mit Eclipse Pleiades All in One
Erstellen eines MOB mit dem Minecraft Java Mythicmobs-Plug-In | Vorbereitung 1
Suchfunktion mit [Rails] Ransack
Erstellen eines Kalenders mit Ruby
[Java] Erstellen Sie eine temporäre Datei
Erstellen Sie ein VSCode-Plugin.
Erstellen Sie einen Spielplatz mit Xcode 12
Implementieren Sie die Kategoriefunktion mithilfe von Vorfahren
Informationen zum Hinzufügen einer ähnlichen Funktion
Machen Sie einen Diamanten mit Java
So erstellen Sie eine Methode
Lassen Sie uns eine TODO-App in Java 4 erstellen. Implementierung der Buchungsfunktion
So erstellen Sie eine JAR-Datei und eine War-Datei mit dem Befehl jar
Erstellen Sie eine Memo-App mit Tomcat + JSP + Servlet + MySQL mit Eclipse
[Rails 6] So erstellen Sie mit cocoon einen dynamischen Formular-Eingabebildschirm
Erstellen Sie eine statische Datei, die Variablen mithilfe der ERB-Klasse erweitert
Lassen Sie uns eine TODO-App in Java 6 erstellen. Implementierung der Suchfunktion
Lassen Sie uns eine TODO-App in Java 8 erstellen. Implementierung von Bearbeitungsfunktionen
Einfache Möglichkeit zum Erstellen einer Zuordnungsklasse bei Verwendung der API
[Rails] Implementierung der Tag-Funktion mit Acts-as-Taggable-On und der Funktion zur Vervollständigung der Tag-Eingabe mit Tag-It
(Ruby on Rails6) Erstellen Sie eine Funktion zum Bearbeiten des veröffentlichten Inhalts