Frage

In meiner Rails-App habe ich ein Episodenmodell.Jede Episode hat ein boolesches Attribut cached wodurch die Episode als zwischengespeichert gekennzeichnet wird.

Also episode.cached? gibt true zurück, wenn die Episode zwischengespeichert ist.

Ich möchte meinem Suchformular ein Kontrollkästchen hinzufügen, das dies ermöglicht Nur zwischengespeicherte Episoden im Suchergebnis anzeigen.Ich verwende den Ransack-Gem, um meine Suchen zu erstellen.

Dies ist mein aktuelles Suchformular:

<%= search_form_for @query, url: playlist_management_search_path(channel_playlist: @channel_playlist.id), method: :get, remote: true do |f| %>
    <%= f.text_field :title_or_subtitle_cont, :placeholder => "Verzeichnis durchsuchen", :id => "search-input-field" %>
    <%= f.check_box_tag :cached_true, 1, :checked => @query.cached_true %>
    <%= f.submit "Search", :class => "prefix button" %>
<% end %>

Mit <%= f.check_box_tag :cached_true, 1, :checked => @query.cached_true %> Ich habe versucht, ein Kontrollkästchen zu bekommen, das das tut, was ich oben beschrieben habe.Allerdings funktioniert es nicht.Es sagt undefined method 'cached_true' for nil:NilClass.

Also:Wie kann ich ein Kontrollkästchen erstellen? „Zeige mir nur Episoden mit zwischengespeichert = wahr“?

War es hilfreich?

Lösung

Habe die Lösung selbst gefunden:

<%= f.check_box :cached_true %>
<%= f.label :cached_true %>

Der check_box_tag ist nur erforderlich, wenn Sie mehrere Elemente durchlaufen und für jedes ein Kontrollkästchen hinzufügen möchten.

Andere Tipps

Sie verwenden zwei Instanzvariablen: @query Und @search.
ich nehme an @search ist nicht eingestellt.Versuchen @query stattdessen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top