Referencia rápida

Chuleta de motores y plugins de Rails

Guía de referencia rápida para Rails Engines y plugins: generación de engines, inicializadores, namespaces aislados, montaje de rutas y configuración de gems.

· Publicado

Los Rails Engines son mini-aplicaciones empaquetadas como gemas de Ruby que proporcionan sus propios modelos, controladores, vistas, rutas y migraciones.

Generación de un Plugin de Rails Engine

# Generar un motor montable de pila completa con namespace aislado
bin/rails plugin new my_engine --mountable --skip-bundle

Arquitectura del Motor (Engine)

Dentro de lib/my_engine/engine.rb:

module MyEngine
  class Engine < ::Rails::Engine
    isolate_namespace MyEngine

    initializer "my_engine.assets" do |app|
      app.config.assets.precompile += %w[my_engine/application.css]
    end
  end
end

Montaje en la Aplicación Anfitriona

En el archivo config/routes.rb de la aplicación anfitriona:

Rails.application.routes.draw do
  mount MyEngine::Engine => "/blog"
end

Migraciones del Engine

Para copiar las migraciones del engine a la aplicación principal:

bin/rails my_engine:install:migrations
bin/rails db:migrate

Referencias

Temas relacionados