[RUBY] Ransack Zusammenfassung

Ransack Zusammenfassung

Ich habe Github selbst über Ransack gelesen und zusammengefasst, das häufig zur Implementierung von Suchfunktionen verwendet wird.

Was ist Durchsuchung?

Ransack enables the creation of both simple and advanced search forms for your Ruby on Rails application (demo source code here).

Mit Ransack können Sie mit Ruby on Rails einfache und erweiterte Formulare erstellen.

Installieren Sie zuerst Ransack

gem 'ransack'
  1. The default param key for search params is now :q
  1. Der Standardparameterschlüssel für Suchparameter lautet: q.

2.form_for is now search_form_for

Derzeit verwende ich search_form_for anstelle von form_for.

3.you will get your search results (an ActiveRecord::Relation in the case of the ActiveRecord adapter) via a call to Ransack#result.

Suchergebnisse können durch Aufrufen der Ergebnismethode abgerufen werden.

Lassen Sie uns einen Controller basierend auf den oben genannten erstellen.

Suchparameter: Suche mit q und Dann habe ich das Ergebnis durch .result erhalten.

controller.rb


def index
  @q = Person.ransack(params[:q])
  @people = @q.result(distinct: true)
end

Die Ansicht sieht folgendermaßen aus: Es verwendet den Helfer search_form_for und den Suchparameter q. search_field ist das zu durchsuchende Feld.

form.html


<%= search_form_for @q do |f| %>

  # Search if the name field contains...
  <%= f.label :name_cont %>
  <%= f.search_field :name_cont %>

  # Search if an associated articles.title starts with...
  <%= f.label :articles_title_start %>
  <%= f.search_field :articles_title_start %>

  # Attributes may be chained. Search multiple attributes for one value...
  <%= f.label :name_or_description_or_email_or_articles_title_cont %>
  <%= f.search_field :name_or_description_or_email_or_articles_title_cont %>

  <%= f.submit %>
<% end %>

Im obigen Beispiel <% = f.search_field: name_cont%> Und so weiter, _cont wurde nach dem Namen geschrieben. Es wird nach einer teilweisen Übereinstimmung mit dem Namen gesucht. Was gibt es noch Ich habe einige aufgelistet.

Abrufmethode Bedeutung
*_eq gleich
*_not__eq anders
*_lt Kleiner
*_lteq Weniger als
*_gt Größer
*_gteq das ist alles
*_cont Teilweise Übereinstimmung
*_start *Beginnt mit
*_end *Ende mit

Es gibt noch mehr Funktionen, aber heute an einem Ort wie diesem Seien Sie nicht müde, Englisch zu lesen ...

** 78 Tage, um ein vollwertiger Ingenieur zu werden **

Recommended Posts

Ransack Zusammenfassung
Zusammenfassung
Objektorientierte Zusammenfassung
Zusammenfassung des Java-Wissens
Java Generics Zusammenfassung
java.lang Zusammenfassung 2 (String)
TDD Trainingszusammenfassung
Java-bezogene Zusammenfassung
Meine RxSwift-Zusammenfassung ②
Meine RxSwift-Zusammenfassung ①
Zusammenfassung des Java 8-Dokuments
Wie auch immer, Dagger2 Zusammenfassung
Docker-Befehlsübersicht
Rails 6.0-Routing-Zusammenfassung
Zusammenfassung der Eclipse-Umgestaltung
Zusammenfassung der Ruby-Syntax
Zusammenfassung der iPLAss-Installation
Zusammenfassung des Java 11-Dokuments
Schienen db: 〇〇 Zusammenfassung
Apache Apex Zusammenfassung