¿Qué es lo nuevo en Rails 5?

  • por Natalia Muñoz

Los desarrolladores esperan con ansias la versión estable de Rails 5, por los nuevos cambios que incorporará. A continuación mencionaré algunas de las modificaciones que más han llamado la atención.

Turbolinks 5

En Rails 5, contrario a lo que se esperaba (Turbolinks 3), fueron incorporados Turbolinks 5. La gema fue completamente reescrita, sin emabrgo, mantiene la base de Turbolinks original.

ActionController Render

Desde ahora en Rails 5 podremos llamar al método ‘render’ desde cualquier sitio dentro de nuestra aplicación. Esto es especialmente útil cuando necesitas hacer ‘render’ de una vista desde una tarea en segundo plano o una clase. Actualmente se podía hacer esto con la gema ‘render_anywhere’. Acá les dejo un ejemplo de como llamaremos a ‘render’:

ApplicationController.render(partial: ‘messages/message’, locals: {message: message, user: current_user})

Rails API

La gema ‘rails-api’ también fue agregada. Con ella, es posible generar un proyecto exclusivo para una API, sin la necesidad de incorporar gemas y otros componentes innecesarias para ella.

Ahora se puede crear un proyecto API con:

rails new my_api --api

AppilcationRecord

Desde ahora en adelante los modelos heredarán de ‘ApplicationRecord’ en vez de ‘ActiveRecord’. Este cambio viene a facilitar la incorporación de módulos a los modelos.

Este cambio es similiar a lo que actualmente sucede con los controladores, que heredan de ‘ApplicationController’ que a su vez hereda de ‘ActionController’, siendo uno quien incorpora las reglas generales en él.

Ahora los módulos se deberán incorporar asi:

class ApplicationRecord < ActiveRecord::Base
	include MyAwesomeFeature
	
	self.abstract_class = true
end

ActionCable

Rails 5 incorpora de forma nativa los ‘websockets’, a traves de ‘ActionCable’, de esta forma podremos empezar a crear aplicaciones en tiempo real utilizando ‘websockets’ soportados por el framework.

Fuentes: