Lors de la création d'un site de tableau d'affichage dans le projet Rails, j'ai eu l'opportunité de mettre en place une fonction de recherche d'utilisateurs. Je laisserai la procédure ici pour rappel.
Modifiez config / routes.rb afin que GET / users / search soit acheminé vers l'action de recherche du contrôleur Users.
config/routes.rb
resources :users do
get :search, on: :collection
end
Créez une action de recherche. Puisque la chaîne de recherche est entrée dans le champ search_keyword, récupérez-la avec les paramètres [: search_keyword].
app/controllers/users_controller.rb
def search
if params[:search_keyword].present?
@users = User.where('name LIKE ?', "%#{params[:search_keyword]}%")
else
@users = User.none
end
end
Créez app / views / users / search.html.erb.
erb:views/users/search.html.erb
<h1>User search</h1>
<%= form_tag search_users_path, method: :get do %>
<%= text_field_tag :search_keyword %>
<%= submit_tag "Search", username: :nil, class: "button is-info" %>
<% end %>
<%= render 'users/users', users: @users %>
J'ai déjà créé app / views / users / _users.html.erb qui contient des informations utilisateur, je l'ai donc appelé avec render.
Lorsque vous effectuez une recherche, cela ressemble à ceci.
Vous avez implémenté avec succès la fonction de recherche d'utilisateurs dans votre projet Rails. Merci beaucoup.
Recommended Posts