Usa los helpers!

Es alguna de las cosas que siempre les digo a los nuevos fichajes de Flowers In Space. Y no es por ser pesado, es porque después se agradece, más de los que a simple vista podría parecer.

Un ejemplo, imaginaros que después de varias semanas o meses de desarrollo de una aplicación descubrís que esta no va a estar accesible en la raiz de un dominio, si no en una subcarpeta. Y no solo eso, si no que deberá estar accesible desde distintas direcciones, cosa bastante común en webs por ejemplo de la Junta de Andalucía y supongo que de muchas otras instituciones.

Si usais helpers para todo lo que sean rutas como link_to, image_tag, stylesheet_link_tag y demás en el caso de Rails, solo tendreis que redefinir o crear los métodos apropiados para esto.

Pero no todo es Rails, ultimamente también hemos trabajado con un pequeño framework llamado Nanoc para generar html. En Nanoc no hay tantos helpers como en Rails, pero si un link_to mucho más sencillo. De todos modos y sabiendo lo que me esperaba me curré unas modificaciones para el link_to (solo para que me resultase más cómodo) y alguno que otro más.

Finalmente nos encontramos con el problema que sospechaba me encontraría, las rutas podían variar dependiendo del entorno y los enlaces en este caso tendrían que hacerse relativos.

Si hiciesemos las páginas una a una no habría problemas, pero aquí usamos un generador, por lo que un menú puede estar en un partial y renderizado en páginas bajo uno, dos o N niveles.

Solución: el método que generaba las rutas de todos los enlaces pasaba por una función que calculaba el enlace relativo dependiendo del nivel en el que se encontrase la página que en ese momento se estaba generando.

Helpers para Nanoc en GitHub.

Una tochada que resumo en dos cosas, usa helpers y que Nanoc mola.

Sin comentarios ↓

Nadie ha dejado ningún comentario, tu puedes ser el primero.

Leave a Comment