I often do the brute-force approach:

  cond_string = []
  cont_hash = {}

  if params[:search_name]
    cond_string << "(name ILIKE :name)"
    cond_hash[:name] = "%#{params[:search_name]}%"
  end
  if params[:search_address]
    cond_string << "(address ILIKE :name)"
    cond_hash[:address] = "%#{params[:search_address]}%"
  end

conditions = cond_string.join(" AND ")
Person.all :conditions => [ conditions, cond_hash ]

--Michael

On Sat, Feb 28, 2009 at 6:25 PM, Joshua Partogi <[email protected]> wrote:
>
> Hi all,
>
> How do we add a conditions in a ActiveRecord find method when the
> parameter is available?
>
> Lets say I want to add this category conditions when the parameter
> from the client:
> Product.find(:all, :conditions => [ "c.id = ?", params[:catid])
>
> Can we dynamically add that conditions to the find method when it is
> available? Or do I have to manually make an conditional statement when
> the parameter is available then give a different find method?
>
> Thanks in advance.
>
> --
> If you can't believe in God the chances are your God is too small.
>
> Read my blog: http://joshuajava.wordpress.com/
> Follow me on twitter: http://twitter.com/jpartogi
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to