Referencia rápida

Chuleta de consejos y trucos de Rails

Guía de referencia rápida de trucos de rendimiento de Rails, atajos de depuración en consola, optimizaciones de consultas y productividad.

· Publicado

Atajos esenciales de productividad, patrones de optimización de memoria y trucos de depuración para el desarrollo diario en Rails.

Optimizaciones de Consultas y Memoria

1. pluck frente a map

pluck consulta las columnas directamente de la base de datos sin instanciar objetos de modelo ActiveRecord en memoria:

# LENTO: Instancia 10.000 objetos User en memoria
User.all.map(&:email)

# RÁPIDO: Selecciona únicamente la columna email como un array de cadenas
User.pluck(:email)

2. Procesamiento por lotes con find_each

Evita cargar tablas enormes en memoria de una sola vez:

# Carga en lotes de 1.000 registros
User.find_each(batch_size: 1000) do |user|
  user.sync_with_crm
end

Atajos de Productividad en la Consola

# Acceder al resultado de la última expresión evaluada
user = User.find(1)
_ # Retorna el objeto user

# Medir el tiempo de ejecución en la consola
Benchmark.ms { 1000.times { User.count } }

# Recargar el código de la aplicación sin reiniciar la consola
reload!

Actualización de Marcas de Tiempo (touch)

Actualizar la marca de tiempo updated_at del modelo padre cuando se actualiza una asociación secundaria:

class Comment < ApplicationRecord
  belongs_to :article, touch: true
end

Referencias

Temas relacionados