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