Implementieren Sie die Suchfunktion mit dem minimal erforderlichen Code. Die Erklärung ist gut, also ist es für diejenigen, die es trotzdem bewegen wollen.
$ 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 "Suche" %>
<% end %>
<% @users.each do |user| %>
<%= user.name %>
<% end %>
/app/config/routes.rb
get "search" => "users#search"
[Rails] Suchfunktion ohne Gem implementieren
・ Ich habe die Erklärung dieses Mal weggelassen. Wenn Sie mehr wissen möchten, ist der folgende Artikel meiner Meinung nach leicht zu verstehen. [Rails] Gründliche Erklärung der Durchsuchungs- und Suchfunktion ohne Edelstein !! Lesen Sie dies, um ein Suchfunktionsmeister zu werden!
・ Dieses Mal habe ich nur nach Namen gesucht, aber wenn ich sowohl nach Namen als auch nach Spitznamen suchen möchte [Rails] So suchen Sie mit einem Suchformular über mehrere Spalten hinweg
・ Dieses Mal habe ich es mit einer partiellen Übereinstimmungssuche implementiert, aber wenn ich eine Präfixübereinstimmung, eine Suffixübereinstimmung und eine Suche nach exakten Übereinstimmungen durchführen möchte Rails - Fuzzy-Suche nach Zeichen mithilfe der LIKE-Klausel (wenn Sie nach Wörtern suchen möchten, die bestimmte Zeichen enthalten)
Recommended Posts