How to code partial search value in a find command

Hello,
In a list view, I’m trying to list a subset of a table’s records based
on a partial search value. So if the user enters " Smith " then the view
should list all records with " Smith " as the value of the relevant
field. I have this partial listing of the Find view:

Enter name to find
<%= start_form_tag :action => 'find' %>
  <p>
    <%= text_field_tag :name, params[:name] %>
  </p>
  <%= link_to "Find It", :class => "submit" %>
<%= end_form_tag %>

Then, in the controller, I have this action:

def find

user = User.find_by_name(:all, :conditions => “name like
‘%#{params[:name]}%’”)

end

The result: no records found, despite some records satisfying the query.
Where did I go wrong?
Thanks for the help,
gk

A little different, but here is an example where I build the search
based on many criteria (i’m pretty sure I found this somewhere on the
internet):

Controller:

@whereClause = ""
@params[:lead].each { |key, value |
  if value.length > 0
@whereClause = @whereClause.length == 0 ? "#{key} LIKE '%#{value}%'" : 

@whereClause << " and #{key} LIKE ‘%#{value}%’"
end
}

My view resembles yours, except I use:

<%= text_field ‘lead’, ‘first_name’ %>

I think your problem is with the following line:

'%#{params[:name]}%

should be (based on what I think):

'%#{params[:model_name][:name]}%

Hope this helps…

Michael

Michael M. wrote:

A little different, but here is an example where I build the search
based on many criteria (i’m pretty sure I found this somewhere on the
internet):

Controller:

@whereClause = ""
@params[:lead].each { |key, value |
  if value.length > 0

@whereClause = @whereClause.length == 0 ? “#{key} LIKE ‘%#{value}%’” :
@whereClause << " and #{key} LIKE ‘%#{value}%’"
end
}

My view resembles yours, except I use:

<%= text_field ‘lead’, ‘first_name’ %>

I think your problem is with the following line:

'%#{params[:name]}%

should be (based on what I think):

'%#{params[:model_name][:name]}%

Hope this helps…

Michael

Hi,
Thanks for the suggestion. I tried a number of permutations, but it
didn’t work for me either.
gk