[RUBY] [Rails] Comment utiliser les boîtes de sélection dans Ransack

introduction

Dans Ransack, je vais résumer comment utiliser la boîte de sélection.

À propos de sélectionner

Tout d'abord, j'expliquerai l'assistant select pour créer une boîte de sélection.

Type de base

select(objet,Nom de la propriété,Informations sur les éléments,option,Attribut d'élément)

Exemple d'implémentation

<%= f.select :name, [['sample1', 1], ['sample2', 2], ['sample3', 3]],
 {include_blank: 'Pas de choix'}, class: 'sample' %>

(En supposant qu'il soit au format form_for, il ne contient pas d'objet.) De cette façon, si vous mettez un tableau dans le troisième argument, la valeur 1 ou 2 sera envoyée comme paramètre.

Aide utile

Il existe également un «assistant utile» pour personnaliser davantage la boîte de sélection.

options_for_select Utilisez ʻoptions_for_select pour définir la valeur initiale de la boîte de sélection`.

Forme basique

options_for_select(Tableau/hacher,option)

Exemple d'implémentation

<%= f.select :name, options_for_select({sample1: 1, sample2: 2, sample3: 3}, 1),
 include_blank: true %>

Puisque "1" est inclus dans le deuxième argument de options_for_select, `1 est affiché comme valeur par défaut. ''

options_from_collection_for_select

Lorsque vous souhaitez créer des choix à partir d'un modèle, il est pratique d'utiliser ʻoptions_from_collection_for_select`.

Forme basique

options_from_collection_for_select(Tableau d'objets,attribut de valeur,élément de texte,option])

Exemple d'implémentation

<%= f.select :name, options_from_collection_for_select(User.all, :id, :name , 1) %>

Désormais, vous pouvez automatiquement faire du nom dans le modèle utilisateur une zone de sélection.

Comment utiliser avec Ransack

Utilisez ʻoptions_from_collection_for_select` comme exemple.

Exemple d'implémentation

<%= search_form_for(@q, url: users_path, local: true) do |f| %>

  <%= f.select :name_eq, options_from_collection_for_select(User.all, :id, :name , 1) %>

  <%= f.button 'Rechercher' %>

<% end %>

En faisant ce qui précède, vous pouvez effectuer une recherche en utilisant le nom dans le modèle utilisateur comme zone de sélection. De plus, la valeur initiale est définie en option.

La partie _eq de name_eq est appelée matcher et vous pouvez rechercher des valeurs égales.

À propos de Matcher

Il y a aussi les matchers suivants.

matcher sens
_eq égal
noteq Inégal
_cont Y compris la valeur(LIKE)
_iteq Moins que
_gteq c'est tout

Pour plus de détails, consultez la section «Rechercher des correspondants» sur ici.

référence

https://railsguides.jp/form_helpers.html https://shinmedia20.com/rails-select-box

Recommended Posts

[Rails] Comment utiliser les boîtes de sélection dans Ransack
Comment utiliser MySQL dans le didacticiel Rails
Comment utiliser credentials.yml.enc introduit à partir de Rails 5.2
Comment utiliser JQuery dans Rails 6 js.erb
[Rails] Comment utiliser PostgreSQL dans l'environnement Vagrant
[Rails] Comment utiliser enum
[Rails] Comment utiliser enum
Comment utiliser la jonction de rails
[Rails] Comment utiliser la validation
[Rails] Comment utiliser authenticate_user!
[Rails] Comment utiliser Scope
[Rails] Comment utiliser l'appareil (Remarque)
Comment utiliser Ruby on Rails
Comment utiliser InjectorHolder dans OpenAM
[Rails] Comment utiliser Active Storage
Comment installer jQuery dans Rails 6
Comment utiliser les classes en Java?
[Introduction aux rails] Comment utiliser le rendu
Comment installer Swiper in Rails
Comment implémenter la fonctionnalité de recherche dans Rails
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
Comment changer le nom de l'application dans les rails
Comment utiliser le volume nommé dans docker-compose.yml
Comment insérer une vidéo dans Rails
[Rails] Comment utiliser ActiveRecord :: Bitemporal (BiTemporalDataModel)
[Rails] Comment utiliser la méthode de la carte
Comment utiliser Docker dans VSCode DevContainer
[rails] Comment configurer le routage dans les ressources
[Ruby on Rails] Comment utiliser redirect_to
Comment implémenter la fonctionnalité de classement dans Rails
[Note] Comment utiliser Rails 6 Devise + cancancan
Comment utiliser les variables d'environnement dans RubyOnRails
[Rails] Comment utiliser video_tag pour afficher des vidéos
Comprendre en 5 minutes !! Comment utiliser Docker
[Rails] Comment utiliser la méthode d'assistance, confimartion
Comment utiliser ExpandableListView dans Android Studio
Résumé de la sélection des éléments dans Selenium
Comment utiliser Map
Comment écrire des rails
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser les rails g échafaudage, fonctions, précautions
Comment utiliser collection_select
Comment traduire Rails en japonais en général
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment utiliser MapStruct
Comment utiliser TreeSet
Comment désinstaller Rails
[Comment utiliser l'étiquette]