Ya ha pasado un tiempecito desde que me decidí a trabajar de forma más profunda con rails. Me tiré un tiempo tonteando con rails y pasé por la fase de alucinar con el scaffold y las aplicaciones en 15 minutos, pero mi día a día estaba muy enfocado a php y no le presté demasiada atención. Fue en la introducción que hicieron blat y álvaro donde me enganché y probé a hacer cosas más grandes basándome en rails. Ahora es casi mi ocupación principal.
En todo este poquito tiempo he ido disfrutando de los detalles que hacen más fácil el trabajo cada día. Los que más me gustan:
- Modelo - Vista - Controlador: Es una forma de trabajar muy cómoda, y se ha hablado hasta la saciedad de ella, pero la verdad es que cuando pasas de trabajar en php a rails cuesta quitarse el vicio de meter casi toda la lógica en la vista.
- ActiveRecord: Sin duda es una de las características de rails que más me ha cambiado la vida. En php hacer un simple CRUD es un mini infierno según la cantidad de campos que tengas en la base de datos. Y no te quiero contar nada cuando hay una modificación de la base de datos.
- Layouts: ActionView ofrece una gestión de layouts estupenda que nos permite trabajar con una sencillez extrema. Es tontísimo, pero de eso se trata :).
- El render de partials: Como estructura o como patrón de repetición dentro de una página los partials nos permiten ser un poquito más DRY.
- Observers: Podemos desencadenar mil acciones sólo con cambiar un objeto y todo de forma natural.
- Se basa en ruby: No soy un experto de ruby, de hecho todavía ando peleándome con el gran tocho en mis ratos muertos, pero es verdad que casi todo se puede escribir de una forma super natural. Y no queda ahí la cosa, el código es de lo más escuálido comparado con (por ejemplo) php. Escribimos menos código, por tanto cometemos menos errores, por tanto… (no me acuerdo cómo seguía la cadena, preguntádselo a Sergio) Ruby mola, no?
- Extender a base de plugins: La manera en la que rails maneja los plugins facilita mucho la vida a la hora de añadir funcionalidad a un proyecto: desde una autentificación hasta geocodificación.
- Desarrollar en local: Sin saber demasiado puedes crear tu propio entorno de desarrollo local. Si no sabes o no quieres instalar un server específico y configurarlo siempre puedes tirar de WEBrick que viene de serie.
- Con AJAX de serie: Viene con multitud de helpers que permiten integrar AJAX en tu aplicación casi sin escribir una sola línea de javascript. El más popular es el linktoremote.
- Todo es como yo te lo digo… o no: En rails todo se puede redefinir. Por poner un ejemplo, yo tuve que retocar la clase CGI para que interactuase como necesitaba con flash y no supuso ningún trauma.
Vamos… que me gusta rails.














