activerecord - Rails search for name Like ? not working -


i want include search functionality rails app. have included search date works fine, search name ? isn't giving me results.

i name search wildcard search.

can please tell me might going wrong?

view index.html.erb:

<%= form_tag(appointments_path, :method => "get") %>   <%= text_field_tag :search, nil, :placeholder => "search full name" %>   <%= text_field_tag :search, nil, :placeholder => "search date (yyyy-mm-dd)"%>   <%= submit_tag "search" %>  <% end %> 

controller:

def self.search(search_for)   appointment.where('name ?', search_for)   appointment.where('date = ?', search_for) end 

in sql, think query ought be:

def self.search(search_for)     appointment.where('name ?', "%#{search_for}%") end 

on note, think problem might encountering form sends search parameter. meaning when set name, after date overriding it.

a way approach might change names of input field, so:

<%= form_tag(appointments_path, :method => "get") %>   <%= text_field_tag :search_name, params[:search_name], :placeholder => "search full name" %>   <%=text_field_tag :search_date, params[:search_date], :placeholder => "search date (yyyy-mm-dd)"%>   <%= submit_tag "search" %>  <% end %> 

in controller, do:

def search   appointment.search(search_params) end  private   def search_params     params.permit(:search_date, :search_name)   end 

in appointment model, have:

def self.search(search_date, search_name)     appointment.where("name :search_name or date = :search_date", search_name: "%#{search_name}%", search_date: search_date) end 

Comments