Creating search using active record

I am trying to create a search with two fields but struggling on how to query it in active record.

I have a view with two fields. text field #userstring and search by value #searchby

eg search bob by eithier name or id value

How do i format a query using active record to read in the parameters and do the search condition on eithier name or id?

Ive looked at some examples but cant seem to find one that uses this type of search.

Any examples would great

thanks

Nick

Nick Hoyle wrote:

I am trying to create a search with two fields but struggling on how to query it in active record.

I have a view with two fields. text field #userstring and search by value #searchby

eg search bob by eithier name or id value

How do i format a query using active record to read in the parameters and do the search condition on eithier name or id?

Ive looked at some examples but cant seem to find one that uses this type of search.

Any examples would great

thanks

Nick

if you have two fields (in first you enter name, id in second), just create condition to which field has been filled and then perform search, just like

# suppose _name_ column exists in table _users_

@user = @user = User.find_by_name(params[:userstring]) unless params[:userstring] @user = User.find(params[:searchby]) unless params[:searchby]

if you have one field and would like to perform search through two columns, use

User.find(:first, :conditions => [userstring=? or id=?', params[:field], params[:field])

tom