Diesmal habe ich Ransack verwendet, um die Suchfunktion zu implementieren. Ich war ein wenig besorgt, deshalb werde ich einen Auszug schreiben.
Dies ist diesmal die Herausforderung. Wenn ich später darüber nachdenke, könnte ich es normal machen. Ich werde es vorerst aufnehmen.
gem 'ransack'
Führen Sie nach der Installation eine Bundle-Installation durch und starten Sie den Server neu.
Definieren Sie es zunächst so im Application Controller
application_controller.erb
def search
@search= Pet.ransack(params[:q]) #Suchobjekt generieren
@[email protected]
end
Ich suche damit. Ich suche ein Haustier in der Haustiertabelle mit dem Schlüssel (: q). @search= Pet.ransack(params[:q])
search.html.erb
<%= search_form_for @search,url: search_pets_path do |f| %>
<div class="search-field">
<%= f.label :bleed_id_eq, 'Typauswahl' %>
<%= f.collection_select :bleed_id_eq, Bleed.all, :id, :name, include_blank: 'nicht spezifiziert'%>
</div>
Hinweis url: search_pets_path Wenn dies nicht erfolgt, tritt ein Fehler auf.
_eq ist eine Methode, um eine Suche durchzuführen, die die Bedingungen erfüllt. Verwechseln Sie das dritte Argument nicht mit: id.
Es ist fertig. Es ist ziemlich einfach. w Ich konnte es tun, während ich verschiedene Argumente anwendete und lol erforschte
Recommended Posts