Bueno... acá tenés lo que yo usé para hacer algo como lo que vos
querés, pero sin usar ningún plugin para el find. Ah, y también tiene
que ver con tu otro thread de discusión pues también estoy usando
will_paginate:

http://pastie.caboo.se/private/7mftmv1mjk9vm4ijzipq9a

Te mandé todo el modelo porque el método principal es el search.

En el controller lo uso así:

  def search
    @academic_programs = AcademicProgram.search(params[:program], params[:page])
  end

Suerte con eso!
Diego

On Nov 13, 2007 12:35 PM, mayesa <[EMAIL PROTECTED]> wrote:
> --- Gonzalo Almeida <[EMAIL PROTECTED]>
> escribió:
> > lo que podrias hacer es instanciar un objeto de la
> > clase del modelo
> > con los parametros que recibiste.
> >
> > @model = Model.new(params[:model])
> >
> > luego, creas un string y vas concatenando los
> > valores que necesitas, y
> > un or o un and segun necesites
> > ej:
> > cond = ""
> > cond  += "title = \"" + model.title +"\ or " type =
> > \"" [EMAIL PROTECTED] +"\""
> >
> >  y luego pudes hacer un find comun o un find_by_sql
> >
> > ej  result = Model.find_by_sql("SELECT * FROM model
> > WHERE " + cond + ";")
> >
> > con el tema de dejar los campos vacios y distinto de
> > nil , podes parsear por ej.
> > if model.cosa != ""  and model.cosa != nil then
> >
> >   cond += "cosa = \"" + model.cosa +"\""
> >
> > tambien usando find_by_sql podes usar un like.
>
> Claro claro.. el tema, es que no queria llegar al
> punto de tener que escribir el SQL a mano e ir
> sanitizando por todos lados, etc.
>
> También, creo que está la opcion de usar algo como:
>
> find(:all, :conditions => [ "param1=? && parma2 <= ?
> and saraza like ?"), param1_value, param1_value,
> saraza_value])
>
> El tema, es que queria saber si no encontraba una
> solucion mas "railera" porque no la conozco(lo mas
> probable) o porque no existe. :)
>
> Saludos y gracias!
>
>
>       Los referentes más importantes en compra/ venta de autos se juntaron:
> Demotores y Yahoo!
> Ahora comprar o vender tu auto es más fácil. Vistá ar.autos.yahoo.com/
> _______________________________________________
>
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>



-- 
Diego Algorta Casamayou
http://www.oboxodo.com - http://diego.algorta.net
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a