2010/2/15 Nestor Rodriguez <[email protected]>:
> Tienes razón, funciona lo que pasa es que me equivoque al culparle al
> active_record, el problema es que no se como manejar una variable enviada
> por el browser y yo lo evaluó mal, hago algo como esto:
> def index
> op = params[:op]
> if op == 1 then
> @articulos = Articulo.find(:all,:conditions=>"COALESCE(tenedor_id,0) !=
> 1")
> else
> @articulos = Articulo.find(:all,:conditions=>"COALESCE(tenedor_id,0) !=
> 1")
> end if
>
> respond_to do |format|
> format.html # index.html.erb
> format.xml { render :xml => @articulos }
> end
> end
El browser te manda los parámetros como string, por lo tanto deberías
hacer algo así:
def index
if params[:op] == "1" then
@articulos = Articulo.find(:all, :conditions =>
"COALESCE(tenedor_id,0) != 1")
else
# acá va otro find, en tu ejemplo es el mismo que el anterior
end
respond_to do |format|
format.html
format.xml { render :xml => @articulos }
end
end
Para ver los contenidos de la variable, podés tirar una excepción en
el controlador, por ejemplo:
def index
raise params.inspect
end
Y podés probar cosas como Articulo.find(:all, :conditions =>
"COALESCE(tenedor_id,0) != 1") desde la consola, corriendo
script/console.
Saludos,
Gastón
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar