
Rails Engines e apps modulares
Mountable engines, isolated engines, namespacing, arquitetura baseada em gem
1O que é um Rails Engine?
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.
2Qual comando é usado para gerar um novo Rails Engine mountable?
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.
3Qual é a principal diferença entre um engine --mountable e um engine --full?
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.
Como montar um Rails Engine no arquivo routes.rb da aplicação hospedeira?
Para que serve a diretiva isolate_namespace em um Rails Engine?
+15 perguntas de entrevista
Outros temas de entrevista Ruby on Rails
Fundamentos de Ruby
Programação orientada a objetos em Ruby
Fundamentos do Rails
Routing & Controllers
Fundamentos do ActiveRecord
Views e templates ERB
Associações do ActiveRecord
Consultas avançadas do ActiveRecord
Formulários Rails
Autenticação e Autorização
Asset Pipeline moderno e frontend
Modo API do Rails
Testes com RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Estratégias de caching
Migrações avançadas
Otimização de desempenho
Padrões de projeto no Rails
Metaprogramação em Ruby
Segurança no Rails
GraphQL com Rails
Implantação e Produção
Monitoring & Logging
Estratégias de upgrade do Rails
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