Referência rápida

Guia de referência de engines e plugins do Rails

Guia rápido para Rails Engines e plugins: geração de engines, inicializadores, namespaces isolados, montagem de rotas e configuração de gems.

· Publicado

Os Rails Engines são mini-aplicações empacotadas como Ruby gems que fornecem seus próprios modelos, controllers, views, rotas e migrações.

Gerando um Plugin Rails Engine

# Gerar um motor montável com namespace isolado
bin/rails plugin new my_engine --mountable --skip-bundle

Arquitetura do Engine

Em 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

Montagem na Aplicação Hospedeira

No arquivo config/routes.rb da aplicação hospedeira:

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

Migrações do Engine

Para copiar as migrações do engine para a aplicação principal:

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

Referências

Temas relacionados