Implémentez la fonction de recherche avec le code minimum requis. L'explication est bonne, donc c'est pour ceux qui veulent le déplacer de toute façon.
$ ruby -v
ruby 2.5.7p206 (2019-10-01 revision 67816) [x86_64-linux]
$ rails -v
Rails 5.2.4.3
/app/models/user.rb
def self.search(search)
User.where(['name LIKE ?', "%#{search}%"])
end
/app/controllers/users_controller.rb
def index
@users = User.all
end
def search
@users = User.search(params[:search])
render "index"
end
/app/views/users/index.html.erb
<%= form_with(url: search_path, method: :get, local: true) do |f| %>
<%= f.text_field :search %>
<%= f.submit "Chercher" %>
<% end %>
<% @users.each do |user| %>
<%= user.name %>
<% end %>
/app/config/routes.rb
get "search" => "users#search"
[Rails] Implémenter la fonction de recherche sans gem
・ J'ai omis l'explication cette fois, donc si vous voulez en savoir plus, je pense que l'article suivant est facile à comprendre. [Rails] Explication approfondie de la fonction de pillage et de recherche sans gemme !! Lisez ceci pour devenir un maître des fonctions de recherche!
・ Cette fois, j'ai cherché uniquement par nom, mais quand je veux rechercher à la fois par nom et par surnom [Rails] Comment rechercher dans plusieurs colonnes avec un seul formulaire de recherche
・ Cette fois, il a été implémenté par recherche de correspondance partielle, mais lorsque vous souhaitez effectuer une correspondance de préfixe, une correspondance de suffixe et une recherche de correspondance exacte Rails - Recherche floue de caractères à l'aide de la clause LIKE (si vous souhaitez rechercher des mots contenant des caractères spécifiques)
Recommended Posts