[RUBY] Comment implémenter la fonctionnalité de recherche dans Rails

Cette fois, je vais vous présenter comment implémenter la fonction de recherche dans Rails.

environnement

supposition

--Expliquer en tant que fonction de recherche d'articles sur les sites de blog

Configurer le routage de recherche

routes.rb


get 'search' => 'posts#search'

Créer un formulaire de recherche sur l'écran de la liste d'articles

html:index.html.erb


<div class="search-form">
  <%= form_with url: search_path, method: :get, local: true do |f| %>
    <%= f.text_field :keyword, value: @keyword %>
    <%= f.submit "Chercher" %>
  <% end %>
</div>
<div class="post-list">
  <% @posts.each do |post| %>
    <%= post.title %>
  <% end %>
</div>

Créer une méthode de recherche

Décrivez ce qui suit dans post.rb.

post.rb


def self.search(keyword)
  where(["title like? OR body like?", "%#{keyword}%", "%#{keyword}%"])
end

OU renvoie l'article si le mot-clé de recherche correspond partiellement au titre ou au corps. (Utilisez AND si vous souhaitez afficher uniquement lorsque le titre et le corps sont touchés.)

Action de recherche ajoutée

posts_controller.rb


def search
  @posts = Post.search(params[:keyword])
  @keyword = params[:keyword]
  render "index"
end

Ceci termine la fonction de recherche.

Les références

Recommended Posts

Comment implémenter la fonctionnalité de recherche dans Rails
Comment implémenter la fonctionnalité de classement dans Rails
Comment implémenter une fonctionnalité similaire dans Rails
[Rails] Comment mettre en œuvre le scraping
Comment implémenter la connexion invité en 5 minutes sur le portefeuille de rails
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
Introduire la conception avec Rails pour implémenter la fonctionnalité de gestion des utilisateurs
Comment écrire une recherche de comparaison de dates dans Rails
Comment installer jQuery dans Rails 6
[Rails] Comment mettre en œuvre le classement par étoiles
Comment installer Swiper in Rails
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
Comment changer le nom de l'application dans les rails
Comment insérer une vidéo dans Rails
Comment utiliser MySQL dans le didacticiel Rails
Comment appliquer les conventions de codage en Java
[rails] Comment configurer le routage dans les ressources
Pour implémenter la publication d'images à l'aide de rails
Comment implémenter le traitement asynchrone dans Outsystems
Comment utiliser credentials.yml.enc introduit à partir de Rails 5.2
Comment écrire des rails
Comment désinstaller Rails
Markdown implémenté dans Rails
[Rails] Comment utiliser les boîtes de sélection dans Ransack
Comment traduire Rails en japonais en général
[Rails] Comment implémenter un test unitaire d'un modèle
Comment séparer .scss par contrôleur dans Rails
Comment ajouter conditionnellement une classe html.erb dans Rails
Comment créer facilement un pull-down avec des rails
Comment utiliser JQuery dans Rails 6 js.erb
Comment implémenter le verrouillage optimiste dans l'API REST
[Rails] Comment utiliser PostgreSQL dans l'environnement Vagrant
Comment vérifier les commandes Rails dans le terminal
Comment implémenter la pagination dans GraphQL (pour ruby)
Comment mettre en œuvre un diaporama en utilisant Slick in Rails (un par un et plusieurs par un)
Implémenter la fonction d'application dans Rails
Comment implémenter UICollectionView avec du code uniquement dans Swift
Comment régler l'heure d'affichage sur l'heure japonaise dans les rails
Implémenter la fonction de recherche de publication dans l'application Rails (méthode where)
[Rails] Implémenter la fonction de recherche d'utilisateurs
[Ruby on Rails] Comment écrire enum en japonais
[Rails] Comment utiliser enum
[Rails, JS] Comment implémenter l'affichage asynchrone des commentaires
[Rails] Comment utiliser enum
Comment lire les itinéraires des rails