Routing-Einstellungen Controller-Einstellungen Datei anzeigen: Suche erstellen
Suche zum Profil-Routing hinzugefügt.
rutes.rb
resources :profiles do
get :search, on: :collection
end
search_profiles GET /profiles/search(.:format) profiles#search
Dieses Mal nehmen wir einen Fall an, in dem eine teilweise Übereinstimmung besteht für: Name, einen Fall, in dem das Geschlecht übereinstimmt, oder einen Fall, in dem beide übereinstimmen.
controller.rb
def search
if params[:name].present? && params[:sex].present?
@profiles = Profile.where('name LIKE ?', "%#{params[:name]}%").where(sex: "#{params[:sex]}")
elsif params[:name].present?
#Teilweise Übereinstimmung
@profiles = Profile.where('name LIKE ?', "%#{params[:name]}%")
elsif params[:sex].present?
@profiles = Profile.where(sex: "#{params[:sex]}")
else
# @profiles = Profile.none
@profiles = Profile.none
end
end
search.html.erb
<h1>Suchbox</h1>
<%= form_with url: search_profiles_path, method: :get, local: true do |f| %>
<%= f.label :name, "Name" %>
<%= f.text_field :name %>
<%= f.label :männlich%><%= f.radio_button :sex, :männlich%>
<%= f.label :Weiblich%><%= f.radio_button :sex, :Weiblich%>
<%= f.submit :search %>
<% end %>
Recommended Posts