Ruby on Rails

Rails Engines e apps modulares

Mountable engines, isolated engines, namespacing, arquitetura baseada em gem

18 perguntas de entrevista·
Senior
1

O que é um Rails Engine?

Resposta

Um Rails Engine é uma aplicação Rails em miniatura que pode ser montada dentro de uma aplicação hospedeira. Ele permite compartilhar código (models, controllers, views, routes) entre várias aplicações ou criar funcionalidades isoladas e reutilizáveis. Gems como Devise, Sidekiq Web UI e ActiveAdmin são exemplos de engines populares usados no ecossistema Rails.

2

Qual comando é usado para gerar um novo Rails Engine mountable?

Resposta

O comando rails plugin new com a opção --mountable gera um engine completo com seu próprio namespace, suas routes isoladas e sua estrutura de pastas. A opção --mountable cria um engine totalmente isolado da aplicação hospedeira, ao contrário de --full, que gera um engine não isolado que compartilha o namespace da aplicação principal.

3

Qual é a principal diferença entre um engine --mountable e um engine --full?

Resposta

Um engine --mountable é totalmente isolado, com seu próprio namespace (module), seus próprios helpers e routes isoladas sob um prefixo configurável. Um engine --full compartilha o namespace da aplicação hospedeira, o que pode gerar conflitos de nomes. O isolamento do mountable engine garante que as classes e routes do engine não poluam o namespace da aplicação principal.

4

Como montar um Rails Engine no arquivo routes.rb da aplicação hospedeira?

5

Para que serve a diretiva isolate_namespace em um Rails Engine?

+15 perguntas de entrevista

Domine Ruby on Rails para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis