Viviendo al filo (de Rails) #21
(Este artículo es una traducción de Living on the edge of Rails (21), publicado por Chu Yeow en su blog redemption in a blog)
Esta ha sido otra semana tranquila (sólo ha habido dos cambios de importancia, en mi opnión) tras la liberación de la primera Release Candidate de Rails 2.1 Sigue el enlace donde están las instrucciones de instlaación -aunque si estás leyendo esta serie de posts probablemente no te importe (porque estas, ya sabes, viviendo en el filo) Bromas aparte, no te olvides de informar de cualquier fallo con el que te puedas topar cuando te actualices a 2.1 RC1 en el bug tracker de Rails – ¡es una versión candidata, así que cualquier informe de fallos será bien recibido!
El informe de esta semana cubre los cambios efectuados en Rails entre el 12 y el 18 de Mayo de 2008.
caches_action condicionales
<p><tt>caches_action</tt> ahora recibe una opción <tt>:if</tt> exactamente igual que <tt>caches_pages</tt>. Por ejemplo:</p>
caches_action :index, :if => Proc.new { |c| !c.request.format.json? }
Esta pequeña mejora es obra de José Valim. El cambio relacionado está en http://github.com/rails/rails/commit/7708650f73ddb4db300ea2059c60c1d907a4384e
Fallo corregido: los finders de ActiveRecord siguen la opción select para garantizar que se incluyen las tablas necesarias en el SQL generado
La siguiente sentencia
Post.find(:all, :include => :author, :select => 'posts.*, authors.id as "author_id"', :limit => 2)
Generaría el código
SELECT posts.*, authors.id as "author_id" FROM "posts" LIMIT 2
Obsérvese que no se hace un JOIN sobre la tabla de autores. Este fallo ha sido corregido por John Devine, y el cambio correspondiente es http://github.com/rails/rails/commit/b28b54cab090bed8f099ef375b419a8f92390dd4
¡Hasta la semana que viene!
