
Rails Engines y apps modulares
Mountable engines, isolated engines, namespacing, arquitectura basada en gem
1¿Qué es un Rails Engine?
¿Qué es un Rails Engine?
Respuesta
Un Rails Engine es una aplicación Rails en miniatura que se puede montar dentro de una aplicación anfitriona. Permite compartir código (models, controllers, views, routes) entre varias aplicaciones o crear funcionalidades aisladas y reutilizables. Gems como Devise, Sidekiq Web UI y ActiveAdmin son ejemplos de engines populares usados en el ecosistema Rails.
2¿Qué comando se usa para generar un nuevo Rails Engine mountable?
¿Qué comando se usa para generar un nuevo Rails Engine mountable?
Respuesta
El comando rails plugin new con la opción --mountable genera un engine completo con su propio namespace, sus routes aisladas y su estructura de carpetas. La opción --mountable crea un engine totalmente aislado de la aplicación anfitriona, a diferencia de --full, que genera un engine no aislado que comparte el namespace de la aplicación principal.
3¿Cuál es la principal diferencia entre un engine --mountable y un engine --full?
¿Cuál es la principal diferencia entre un engine --mountable y un engine --full?
Respuesta
Un engine --mountable está totalmente aislado con su propio namespace (module), sus propios helpers y routes aisladas bajo un prefijo configurable. Un engine --full comparte el namespace de la aplicación anfitriona, lo que puede generar conflictos de nombres. El aislamiento del mountable engine garantiza que las clases y routes del engine no contaminen el namespace de la aplicación principal.
¿Cómo montar un Rails Engine en el archivo routes.rb de la aplicación anfitriona?
¿Para qué sirve la directiva isolate_namespace en un Rails Engine?
+15 preguntas de entrevista
Otros temas de entrevista Ruby on Rails
Fundamentos de Ruby
Programación orientada a objetos en Ruby
Fundamentos de Rails
Routing & Controllers
Fundamentos de ActiveRecord
Views y plantillas ERB
Asociaciones de ActiveRecord
Consultas avanzadas de ActiveRecord
Formularios Rails
Autenticación y Autorización
Asset Pipeline moderno y frontend
Modo API de Rails
Pruebas con RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Estrategias de caching
Migraciones avanzadas
Optimización del rendimiento
Patrones de diseño en Rails
Metaprogramación en Ruby
Seguridad en Rails
GraphQL con Rails
Despliegue y Producción
Monitoring & Logging
Estrategias de actualización de Rails
Domina Ruby on Rails para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis