[RUBY] Implémentation de la fonction de recherche

introduction

Lors de la création d'une application personnelle, implémentez une fonction de recherche afin que le contenu des articles publiés puisse être affiché par recherche.

Paramètres de routage

Cette fois, nous ne passerons pas à la page en spécifiant: id, nous utiliserons donc collection pour définir le routage.

routes.rb


resources :posts do
  get :search, on: :collection
  resource :likes, only: [:create, :destroy] -Comme la mise en œuvre de la fonction
end

Paramètres du modèle

** Clause LIKE ** La clause LIKE peut rechercher une chaîne de caractères. Utilisé avec la méthode where.

Exemple d'exécution Détails
where('title LIKE(?)', "a%") Titres commençant par un
where('title LIKE(?)', "%b") Titres se terminant par b
where('title LIKE(?)', "%c%") Titres contenant c
where('title LIKE(?)', "d_") Titre à deux lettres commençant par d
where('title LIKE(?)', "_e") Titre à deux lettres se terminant par e

app/models/post.rb


def self.search(search)
  return Post.all unless search
  Post.where('body LIKE(?)', "%#{search}%")
end

Définir une action de recherche dans le contrôleur

post_controller.rb


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

voir l'implémentation

On suppose que vous faites un modèle partiel en utilisant la ** méthode de rendu **. ** post ** à droite de {post: post} est ** post ** en tant que variable dans chaque méthode, indiquant une instance de ** post **. Le ** post ** sur la gauche représente le nom de la variable dans le modèle partiel.

search.html.erb


<% @posts.each do |post| %>
   <%= render partial: "post", locals: { post: post } %>
<% end %>

en conclusion

La mise en œuvre de la fonction de recherche s'est déroulée relativement facilement. Je vais implémenter d'autres fonctions et augmenter ce que je peux faire. Merci d'avoir regardé jusqu'au bout: sourire:

Recommended Posts

Implémentation de la fonction de recherche
Implémentation de la fonction de recherche séquentielle
Mise en œuvre de la fonction de pagénation
Fonction de recherche [implémentation copier-coller]
[Rails] Implémentation de la fonction de recherche en utilisant le ransack de gem
Implémentation de la fonction de recherche floue Rails
Implémentation d'une fonction similaire (Ajax)
Implémentation de la fonction de prévisualisation d'image
[Rails] Implémentation de la fonction de catégorie
Mise en œuvre de la fonction déroulante de catégorie
Mise en place de la fonction de recherche Mémo d'apprentissage (création de portfolio)
[Rails] Implémentation de la fonction tutoriel
[Rails] Implémentation d'une fonction similaire
[Rails] Implémentation de la fonction d'importation CSV
[Rails] Implémentation asynchrone de la fonction similaire
[Rails] Implémentation de la fonction de prévisualisation d'image
[Rails] Implémentation de la fonction de retrait utilisateur
[Rails] Implémentation de la fonction d'exportation CSV
Implémentation d'une fonction similaire en Java
Implémentation de la fonction DM
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (2)
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (1)
Rails [Pour les débutants] Implémentation de la fonction de commentaire
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (3)
[Ruby on rails] Implémentation d'une fonction similaire
Implémentation de la recherche par hashtag Rails
Implémentation de la fonction de connexion Ruby on Rails (Session)
[Rails] Implémentation de la fonction d'agrandissement d'image à l'aide de lightbox2
Implémentation de la fonction de commentaire (Ajax)
Suivez l'implémentation de la fonction (Ajax)
Implémentation de la fonction de prévisualisation d'image
[JQuery] Procédure d'implémentation de la fonction de saisie semi-automatique [Java / Spring]
Implémentation appliquée de l'espace de chat
Implémentation de la fonction de suppression (si vous avez une clé étrangère)
[Rails] Implémentation de la fonction glisser-déposer (avec effet)
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Préparation"
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "seed edition"
Ajout de la fonction de connexion invité
Implémentation de la suppression d'ajax dans Rails
[Rails] Implémenter la fonction de recherche d'utilisateurs
Fonction de recherche à l'aide de [rails] ransack
Combinaison de recherche et each_with_index
[Java] Implémentation du réseau Faistel
Implémentation de XLPagerTabStrip avec TabBarController