martes, 29 de septiembre de 2009

FasterCSV y Rails 2.3

Pues parece FasterCSV y Rails 2.3 no terminan de llevarse bien. De hecho, en las aplicaciones rails que he migrado a la versión 2.3.2, cualquier exportación de datos a formato CSV ha dejado de funcionar. Lo extraño es que no falla nada salvo que los archivos resultantes están vacíos.

Menos mal que San Google siempre está ahí, cuando se le necesita. Buscando buscando llego aquí donde explican que en Rails 2.3 a ActionController::Response le han quitado el método << con lo que las concatenaciones típicas en la generación de archivos CSV no funcionan. En el link se ofrece una solucioncilla on the fly que funciona estupendamente para código viejuno.

En fin, as usual, salud y rocanrol

Piensas otra vez que ahora es tu momento,
aunque al parecer todo vuelve a cambiar.
Es difícil ser otra vez tú mismo,
y no ver a tiempo que estás acabado.
¿Quién te convenció de cantar así?
¿Quién te prometió la inmortalidad?
Tratan de volver los desertores del rock.
Tratan de volver los desertores del rock.
¡Pero es tarde ya!.

miércoles, 9 de septiembre de 2009

Nota mental

Hay cosas que por más que las leas, las veas y las intentes retener, son imposibles de memorizar. Hay otras, sin embargo, que se quedan ahí contigo para el resto de tu vida, y que no sirven para nada. Como la típica cancioncilla que oyes a alguien y no se te va de la cabeza en todo el día. Probemos con 'dragones y mazmorras, un mundo infernal, se esconde entre las sombras, la fuerza del mal'.

En fin, no sé cuantas veces he buscado cómo se llama la variable local que contiene el número de iteración que pinta en cada momento. Por lógica, se llama contador o counter, pero en estos casos la lógica no aparece por ningún lado. Y para que cada partial tenga la suya, por delante se pone el nombre del archivo. Es decir, si ejecutamos

<%= render :partial => 'line', :collection => @lines %>

cada ejecución del partial _line.html.rb contará con la variable local line_counter cuyo valor irá creciendo en cada ejecución desde 0 hasta el número de items contenidos en @lines menos 1.

Para más información, pregunten por el señor api.

Me juego una caña a que se me olvida que he escrito este post. Salud y rocanrol

Sólo quiero ser más rápido que ellos
y echar todo a perder un día tras otro
y un buen rato después saber llegar a casa
antes de que el sol, me diga que es de día