Il existe une gemme de recherche appelée Ransack
Ce qui vous permet de rechercher des modèles de manière très simple :
<%= f.search_field :name_or_description_or_email_or_articles_title_cont %>
L'exemple ci-dessus est une étiquette lorsqu'on clique dessus pour rechercher dans un nom ou une description ou un e-mail ou une colonne article_title contenant ce qui a été fourni dans le champ de texte de recherche
Voici un exemple de saccage sous le capot
>> User.ransack(first_name_cont: 'Rya').result.to_sql
=> SELECT "users".* FROM "users" WHERE ("users"."first_name" LIKE '%Rya%')
Il est simple à utiliser et peut être utilisé pour une recherche avancée si nécessaire