Buenas tardes, tengo un problema, tengo un campo decimal en la base de
datos. Y me gustarÃa que al poner los valores con comas en el
formulario(Ej. 12,5) el valor lo guardase, el problema esque no lo
interpreta correctamente a no ser que sea con un punto (Ej. 12.5).
He estado buscando en google y no he visto forma de que a la hora de
recibir el campo en el formulario, interprete correctamente la coma.
Esto es lo que guarda en la bdd.
12,5 => 12
12.5 => 12.5
Gracias.
Tal vez una salida podria ser redefinir el ‘writer’ de este attributo en
tu
modelo y reemplazar su valor mediante gsub:
def attr=(value)
write_attribute(:attr, value.gsub(/,(\d+)\Z/,’.\1’)
end
Saludos!
Pues parece que sà que funciona. Me ha tocado hacer un pequeño retoque a
esa función, puesto que daba error al intentar convertir la coma a punto
ya que al ser un Decimal daba error. Asà que la he dejado asÃ:
def attr=(value)
write_attribute(:attr, value.to_s.gsub(/,(\d+)\Z/,’.\1’)
end
Gracias!