I think you can frame your WHERE clause by splitting the search field
value on a particular database field. e.g.

Assume your query is passed in search parameter. So params[:search] will
access the string passed by the search form. Lets take the example of
Airport and name.


#get the parameter search and split it on blank spaces.
search_str = params[:search]
search_arr = search_str.split(' ')

#Loop through the search_arr and form a where_clause
where_clause = ''

search_arr.each_with_index do |s, i|
  where_clause += ' AND ' unless i == 0
  where_clause += "name LIKE '%" + s + "%'"
end

#Now use where method of ActiveRecord to fetch the records matching the
criteria.
airports = Airport.where(where_clause)


airport will have all the records matching thew criteria of name from
search form. Hope this will help. :)

Regards
Manoj Monga
man...@mindfiresolutions.com
http://mindfiresolutions.com

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to