
Vue on Rails
Bryan Lim, Richard LaFranchi
- Editorial
- Apress
- Año
- 2019
- Páginas
- ~193
- Nivel
- Intermedio
De qué trata
Guía de principio a fin para crear aplicaciones web combinando Vue.js en el frontend con Ruby on Rails en el backend. Uno de sus autores, Bryan Lim, colaboró con Webpacker de Rails y creó la gema vueonrails. Se publicó en 2019, cuando Rails 5.x/6 integraba JavaScript mediante Webpacker y el frontend se hacía con Vue 2. Va dirigida a desarrolladores Rails que quieren sumar un frontend moderno, y también a desarrolladores, diseñadores, responsables técnicos y de producto que evalúan esta combinación. Conviene saber algo de Rails y de JavaScript.
Tiene tres partes. La primera explica cómo integrar herramientas de frontend en Rails, cuándo conviene una SPA y cuándo componentes dentro de vistas de servidor, cómo configurar Vue en un proyecto Rails con Webpacker y cómo pasar datos entre componentes Vue y controladores Rails, siguiendo una lectura «Model, Vue and Controller» del patrón MVC. También muestra cómo generar componentes con scaffolding y reutilizarlos mediante props, eventos y slots. La segunda parte es práctica: tutoriales cortos de casos reales y dos proyectos más grandes que usan Action Cable (WebSockets) y Active Storage. La tercera trata las pruebas, el despliegue, la resolución de problemas y la elección de la configuración del router.
Aporta lo que pocos libros de Vue explican: cómo encaja el framework en una aplicación Rails ya existente sin rehacerla como SPA, con ejemplos que aprovechan las funciones propias de Rails como el tiempo real y la subida de archivos. Es breve (unas 200 páginas), así que no profundiza ni en Vue ni en Rails por separado. Además, su base técnica envejeció: Rails 7 dejó Webpacker en favor de importmaps, jsbundling y Vite Ruby, y Vue pasó a la versión 3. Los conceptos de integración siguen siendo útiles, pero la configuración habrá que actualizarla.
- Vue.js 2
- Ruby on Rails
- Webpacker
- Integración frontend-backend
- Componentes
- Props, eventos y slots
- Action Cable
- Active Storage
- SPA vs. vistas de servidor
- Testing
- Despliegue
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Juego de dos jugadores en tiempo real
Juego multijugador en el que dos usuarios juegan en tiempo real, con la interfaz en Vue.js y la comunicación por WebSockets mediante Action Cable de Rails.
Herramienta de recorte de imágenes
Utilidad para subir y recortar imágenes desde un componente Vue, guardando los archivos en el servidor con Active Storage de Rails.
Tutoriales cortos de casos reales
Serie de ejemplos breves que muestran patrones habituales de integración entre componentes Vue y una aplicación Rails.

