Foros del Web » Programando para Internet » Ruby »

12 134.123-f ==> 12134123F

Estas en el tema de 12 134.123-f ==> 12134123F en el foro de Ruby en Foros del Web. supongamos q tendo un campo DNI que unos pondran como 12.134.123-f otros con espacios y otros todo junto. estoy mirandode definir un metodo en el ...
  #1 (permalink)  
Antiguo 15/11/2006, 10:06
 
Fecha de Ingreso: agosto-2006
Mensajes: 316
Antigüedad: 18 años, 3 meses
Puntos: 0
12 134.123-f ==> 12134123F

supongamos q tendo un campo DNI
que unos pondran como 12.134.123-f otros con espacios y otros todo junto.

estoy mirandode definir un metodo en el modelo que "quite" los puntos guiones y espacios, para q asi al presentar los datos en un listado quede mas limpio.

no tengo la funcion, pero no sera dicifil encontrar algo para remplazar un caracter - por nada.

el problema es que no se donde tendre q aplicarlo.

Mi primera idea es crear una definicion en el modelo tipo:

def limpiar (str)
str = upcase(srt)
@limpiar = remplace (str, "-", "")
@limpiar = remplace (@limpiar , ".", "")
@limpiar = remplace (@limpiar , " ", "")
@limpiar
end
(las funciones son meramente explicativas, existe en asp, pero nose si existen en RoR)

y luego supongo q tendria q llamar la funcion limpiar desde el formulario,
algo asi:
<%= text_field 'cif', limpiar('cif') %>

PERO ME SUENA TAN RARO
que ni me he puesto,

seguro q alguien del foro (q no sea epi q parece q lo tenga a tiempò completo) me indica una solucion menos liosa.
  #2 (permalink)  
Antiguo 16/11/2006, 00:36
 
Fecha de Ingreso: enero-2006
Mensajes: 48
Antigüedad: 18 años, 10 meses
Puntos: 0
Esto es un problema de Ruby, no de Rails. Para que te entretengas, mírate la documentación de la clase String en Ruby, en concreto al método String#delete

http://corelib.rubyonrails.org/classes/String.html

La idea de poner tu función 'limpiar' en un helper es buena pero.. ¿por qué no invocarla al meter el registro en la base de datos? De esta manera en la BD ya tendrías los NIFs perfectamente formateados.
__________________
------------------------------
http://www.sobrerailes.com
  #3 (permalink)  
Antiguo 16/11/2006, 00:38
 
Fecha de Ingreso: enero-2006
Mensajes: 48
Antigüedad: 18 años, 10 meses
Puntos: 0
Por cierto, es buena técnica eso de pensar 'me suena tan raro'. Cuando algo parece raro en Ruby y/o Rails... es que hay una forma más fácil de hacerla.

También podrías crearte una validación del campo NIF en tu formulario, de forma que obligues a que el NIF case con una expresión regular (validates_format_of) y así te evitas que alguien meta algo que no se parezca a un NIF...
__________________
------------------------------
http://www.sobrerailes.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:14.