Novedades en Edge Rails #2
Posted: Noviembre 16th, 2008 | Author: Juan Lupión | Filed under: blog | Tags: edge, rails |Lo más importante esta semana en el desarrollo de Rails es el inminente lanzamiento de Rails 2.2.1 -también conocido como Rails 2.2 RC2. Debido a eso ha habido algunos cambios significativos en el repositorio de Rails.
En primer lugar, es probable que sea necesario actualizar rubygems para ejecutar RC2: ahora requiere la versión 1.3.1 de rubygems, que fue publicada exactamente ayer. Esto hará más util y estable la posibilidad de poner gemas en el directorio vendor, aunque a costa de una actualización que puede resultar algo costosa. En este artículo se pueden encontrar algunas soluciones. commit
También se ha trabajado bastante en el motor de rutas durante la semana pasada. Jeremy Kemper entregó bastantes correcciones que minimizan la creación de objetos y expresiones regulares, recortando así el uso de memoria. commit commit Ahora tenemos las las opciones :only y :except para invocar a map.resources, que también harán descender el uso de memoria si usamos muchas rutas de recursos -véanse estos artículos para entrar en detalle (aunque también ha habido algunos retoques a la manera en que funcionan los recursos anidados después de que se publicase). commit commit commit
El nuevo código de pooling de conexiones de ActiveRecord ha sido afinado un poco también, evitando algunos problemillas con el adaptador de Oracle y siendo un poco más eficiente en modo desarrollo. commit
Las URLs polimórficas son ahora más intuitivas si uno de sus parámetros es nil. Por ejemplo, llamar a polymorphic_path([@project, @filter, @issue]) con un filtro nulo ahora devuelve project_issue_url en lugar de NoMethodError. commit
Se ha limitado la funcionalidad de protección contra request forgery de forma que sólo se aplica a peticiones que solicitan contenido formateado en HTML. Ha habido una gran discusión en el ticket de Lighthouse que llevó a este cambio, pero se resume en que la implementación anterior tenía fallos que hacían que las acciones destroy fueran inaccesibles cuando se usaba XML. Además, los otros tipos de peticionese pueden proteger por otros medios. commit

Leave a Reply