Beim Erstellen einer Bulletin Board-Site im Rails-Projekt hatte ich die Möglichkeit, eine Benutzersuchfunktion zu implementieren. Ich werde das Verfahren hier zur Erinnerung belassen.
Bearbeiten Sie config / route.rb so, dass GET / users / search an die Suchaktion des Users-Controllers weitergeleitet wird.
config/routes.rb
resources :users do
get :search, on: :collection
end
Erstellen Sie eine Suchaktion. Da die Suchzeichenfolge in das Feld search_keyword eingegeben wird, rufen Sie sie mit params [: search_keyword] ab.
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
Erstellen Sie 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 %>
Ich habe bereits app / views / users / _users.html.erb erstellt, die Benutzerinformationen enthält, also habe ich sie mit render aufgerufen.
Wenn Sie suchen, sieht es so aus.
Sie haben die Benutzersuchfunktion erfolgreich in Ihrem Rails-Projekt implementiert. Vielen Dank.