Genera Códigos QR con Ruby
La gema rqrcode de Ruby hace que la generación de códigos QR sea simple y elegante. Perfecta para aplicaciones Rails, scripts y flujos de automatización.
Instalación
Instala la gema rqrcode usando Bundler o gem install.
gem 'rqrcode'gem install rqrcodeGenera Códigos QR con rqrcode
Ejemplos de código usando la gema rqrcode en Ruby.
QR Code as SVG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
svg = qr.as_svg(
offset: 0,
color: '1A2B3C',
shape_rendering: 'crispEdges',
module_size: 6,
standalone: true
)
File.write('qrcode.svg', svg)QR Code as PNG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
png = qr.as_png(
bit_depth: 1,
border_modules: 4,
color_mode: ChunkyPNG::COLOR_GRAYSCALE,
color: 'black',
file: nil,
fill: 'white',
module_px_size: 6,
resize_exactly_to: false,
resize_gte_to: false,
size: 300
)
IO.binwrite('qrcode.png', png.to_s)Rails Controller
class QrCodesController < ApplicationController
def show
qr = RQRCode::QRCode.new(params[:data] || 'https://qrcode.fun')
svg = qr.as_svg(module_size: 6, standalone: true)
render inline: svg, content_type: 'image/svg+xml'
end
endGenera Códigos QR vía API en Ruby
Llama a la API de QRCode.fun desde Ruby usando Net::HTTP o Faraday para códigos QR estilizados.
require 'net/http'
require 'json'
uri = URI('https://qrcode.fun/api/generate-qr-styled')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = {
data: 'https://qrcode.fun',
width: 300,
height: 300,
type: 'png',
margin: 10,
dotsOptions: { color: '#1A2B3C', type: 'rounded' },
cornersSquareOptions: { color: '#8564C3', type: 'extra-rounded' },
backgroundOptions: { color: '#FFFFFF' }
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result['data'][0..49]Vista Previa de Código QR en Vivo
Prueba a generar un código QR con Ruby ahora mismo.
Biblioteca Nativa vs API
Compara el uso de rqrcode con la API de QRCode.fun.
| Característica | Gema rqrcode | QRCode.fun API |
|---|---|---|
| Complejidad de configuración | gem install + ChunkyPNG para imágenes | Una sola solicitud HTTP |
| Personalización | Colores, tamaño de módulo (SVG/PNG) | Estilizado completo: colores, formas, logotipos |
| Soporte sin conexión | Sí | Requiere internet |
| Mantenimiento | bundle update | Siempre actualizado |
| Formatos de salida | SVG, PNG, terminal ANSI | PNG, SVG |
Casos de Uso de Códigos QR en Ruby
Escenarios comunes para códigos QR en aplicaciones Ruby.
Aplicaciones Rails
Genera códigos QR en controladores Rails para perfiles de usuario, boletos de eventos y configuración de autenticación de dos factores.
Trabajos en Segundo Plano
Crea códigos QR de forma asíncrona con Sidekiq o Active Job para generación de etiquetas por lotes y campañas de correo electrónico.
Endpoints de API
Construye endpoints de API que devuelven códigos QR como imágenes o SVG para aplicaciones móviles e integraciones de terceros.
Scripts de Automatización
Escribe scripts Ruby para generar códigos QR en masa para inventario, etiquetado de activos y gestión de eventos.
Inmersión Profunda en el Ecosistema de Códigos QR en Ruby
La elegante sintaxis de Ruby y el ecosistema Rails hacen que la generación de códigos QR sea simple y productiva para aplicaciones web.
Controladores Rails, Vistas y Active Storage
En Rails, genera códigos QR en controladores usando rqrcode y sírvelos como SVG en línea o descargas PNG. Usa Active Storage para persistir códigos QR generados como adjuntos de modelos — adjunta un código QR a un registro de Ticket o Product. El cacheo de fragmentos de Rails con claves de caché basadas en el contenido QR evita la generación redundante. En aplicaciones Hotwire/Turbo, genera códigos QR del lado del servidor y entrégalos mediante Turbo Frames para actualizaciones dinámicas sin recargas completas de página.
Procesamiento en Segundo Plano con Sidekiq
Para la generación masiva de códigos QR, delega el trabajo a workers de Sidekiq. Crea un GenerateQrCodeJob que produzca códigos QR para escenarios por lotes como venta de entradas para eventos, etiquetado de productos o campañas de correo. Usa la función de lotes de Sidekiq para rastrear la finalización de grandes ejecuciones de generación de QR. El cacheo en Redis con una clave basada en contenido (Digest::SHA256) previene la generación duplicada entre workers y sirve resultados cacheados para solicitudes repetidas.
Ecosistema de Gemas: rqrcode, ChunkyPNG y MiniMagick
El ecosistema de gemas de Ruby proporciona pipelines flexibles de renderizado de códigos QR. rqrcode genera la matriz QR, luego ChunkyPNG la renderiza a PNG sin dependencia de ImageMagick — ideal para despliegues en contenedores. MiniMagick permite post-procesamiento avanzado: agregar logotipos, esquinas redondeadas y fondos con degradado. Para salida SVG, el renderizador SVG integrado de rqrcode crea códigos QR independientes de resolución, perfectos para diseños web responsivos y materiales impresos.
Preguntas Frecuentes
Preguntas comunes sobre la generación de códigos QR con Ruby.
Comienza a generar códigos QR con Ruby
Usa nuestro generador gratuito o integra la API en tus aplicaciones Ruby y Rails.