Lors de la recherche de données stockées dans la base de données et de leur affichage sur HTML, elles sont fondamentalement implémentées en utilisant quelque chose qui s'appelle une "clause LIKE".
Nom de la classe de modèle.where('Nom de la colonne pour rechercher LIKE(?)', "Mots clés à rechercher")
Cependant, avec cela, seule la correspondance parfaite peut être affichée dans les résultats de la recherche. (Par exemple, lorsque vous recherchez "baseball" sur Google, certains qui ne correspondent pas exactement (terrain de baseball, baseball professionnel, etc.) apparaîtront dans les résultats de la recherche.
Si vous souhaitez effectuer un tel réglage, Si vous spécifiez la clause LIKE en mettant% avant et après le mot-clé à rechercher, le mot-clé inclus dans la chaîne de caractères sera frappé.
Product.where('title LIKE(?)', "%#{params[:keyword]}%")
Dans le cas de ↑, vous pouvez rechercher des données qui incluent des mots-clés dans le titre.
En outre, il existe d'autres moyens de rechercher des données.
where('title LIKE(?)', "a%")
#↑ Rechercher des titres commençant par un
where('title LIKE(?)', "%b")
#↑ Recherche de titres commençant par b
where('title LIKE(?)', "%c%")
#↑ Recherche de titres commençant par c
Recommended Posts