Saludos amigos, el problema que tengo es al intentar subir un archivo
pequeño, que por naturaleza es convertido en StringIO, los 3 metodos
singleton: content_type, original_filename y local_path se agregan
correctamente; el valor de los 2 primeros tambien es asignado
correctamente, pero el ultimo (local_path) siempre me devuelve nil, lo
cual no me permite grabar el registro, llevo como 2 dias buscando el
porque, antes lo solucionaba hackeando la libreria cgi.rb logrando que
por mas pequeño que sea el archivo me devuelva un Tempfile, pero eso
solo funciona con webrick, con mongrel no anda; ea archivo tiene un
tamaño de 19 kib.
pequeño, que por naturaleza es convertido en StringIO, los 3 metodos
singleton: content_type, original_filename y local_path se agregan
correctamente; el valor de los 2 primeros tambien es asignado
correctamente, pero el ultimo (local_path) siempre me devuelve nil, lo
cual no me permite grabar el registro
No entiendo bien el problema… si tienes el StringIO puedes hacer
directamente un read sobre el objeto igual que si fuera un Tempfile.
Imagino que quizás lo que estás intentando tú es copiar el fichero
temporal directamente desde el filesystem en lugar de leerlo. En ese
caso es lógico que con StringIO tengas un problema porque no genera un
temporal.