Hola gente, como andan, aqui peleandome con el array, estoy tratando de hacer un sistema de cuentas corrientes y estoy con eso del DEBITO Y EL CREDITO, así que necesito mostrar el ESTADO DE CUENTAS de un cliente, por lo tanto en el CONTROLADOR escribo esto:

@clientes_movimientos = ClienteMovimiento.find_by_sql("Select clientes_movimientos.* " +
                    "from clientes_movimientos, solicitudes, clientes " +
"where clientes_movimientos.solicitud_id = solicitudes.id and " +
                    " solicitudes.cliente_id = clientes.id and " +
                    " clientes.id = #{params[:id]}")
AQUÍ NO ESTA EL PROBLEMA, el problema es que en el array que me genera, vienen dos campos, DEBITO y CREDITO, que quiero sumarlos (cada uno un su columna) para mostrar los totales algo así como:

fec mov Concepto Debito Credito Fec vencimiento Num cuota Observacion
22/02/2010      Cuota   300,000                 02/02/2010      1/4     debito 
automatico
22/02/2010      Cuota   200,000                 02/04/2010      2/4     debito 
automatico
22/02/2010      Cuota   200,000                 02/05/2010      3/4     debito 
automatico
22/02/2010      Cuota   200,000                 02/06/2010      4/4     debito 
automatico
TOTAL                                  1,000,000             0

Lo que pasa es que el campo CREDITO, como no se le cargo nada tiene valores nulos, ahora bien mi pregunta es la siguiente:
Como le digo a un bloque, que si es nulo el campo, lo tome como 0 (cero).
Algo así como

@clientes_movimientos.sum {|cm| ifnull(cm.debito,0)}
@clientes_movimientos.sum {|cm| ifnull(cm.credito,0)}

Obviamente la funcion ifnull no es de ruby que yo sepa. Pero cuando le coloco de la forma que aprendí es decir así:
@clientes_movimientos.sum  {|cm| cm.debito}
@clientes_movimientos.sum {|cm| cm.credito}

Me lanza un error ya que cm.credito es nulo y no lo puede sumar.

Alguien sabe una función que transforme un valor nulo aquí en por ejemplo 0 (cero).

Desde ya gracias...

Néstor R.



_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a