[RUBY] résumé du ransack

résumé du ransack

J'ai lu et résumé par moi-même github à propos de ransack, qui est souvent utilisé pour implémenter des fonctions de recherche.

Qu'est-ce que le saccage

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

ransack vous permet de créer des formulaires simples et avancés avec Ruby on Rails.

Première installation de ransack

gem 'ransack'
  1. The default param key for search params is now :q
  1. La clé de paramètre par défaut pour les paramètres de recherche est: q.

2.form_for is now search_form_for

Actuellement, j'utilise search_form_for au lieu de 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.

Les résultats de la recherche peuvent être obtenus en appelant la méthode result.

Créons un contrôleur basé sur ce qui précède.

Paramètre de recherche: recherche à l'aide de q et Ensuite, j'ai obtenu le résultat par .result.

controller.rb


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

La vue ressemble à ceci: Il utilise l'assistant search_form_for et le paramètre de recherche q. search_field est le champ à rechercher.

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 %>

Dans l'exemple ci-dessus <% = f.search_field: name_cont%> Et ainsi de suite, _cont était écrit après le nom. Il recherche une correspondance partielle pour le nom. Qu'y a-t-il d'autre J'en ai énuméré quelques-uns.

méthode de récupération sens
*_eq égal
*_not__eq différent
*_lt Plus petite
*_lteq Moins que
*_gt Plus grand
*_gteq c'est tout
*_cont Match partiel
*_start *Commence par
*_end *terminer par

Il y a encore plus de fonctions, mais aujourd'hui, dans un endroit comme celui-ci Ne vous lassez pas de lire l'anglais ...

** 78 jours pour devenir ingénieur à part entière **

Recommended Posts

résumé du ransack
Résumé
Résumé orienté objet
Résumé des connaissances Java
Résumé des génériques Java
java.lang Résumé 2 (chaîne)
Résumé de la formation TDD
Résumé relatif à Java
Mon résumé RxSwift ②
Mon résumé RxSwift ①
Résumé du document Java 8
Quoi qu'il en soit, résumé de Dagger2
Résumé de la commande Docker
Résumé du routage Rails 6.0
Résumé de la refactorisation Eclipse
Résumé de la syntaxe Ruby
Résumé de l'installation iPLAss
Résumé du document Java 11
rails db: 〇〇 Résumé
Résumé Apache Apex