Ruby on Rails

Rails Engines e app modulari

Mountable engines, isolated engines, namespacing, architettura basata su gem

18 domande da colloquio·
Senior
1

Che cos'è un Rails Engine?

Risposta

Un Rails Engine è un'applicazione Rails in miniatura che può essere montata all'interno di un'applicazione host. Consente di condividere codice (models, controllers, views, routes) tra più applicazioni o di creare funzionalità isolate e riutilizzabili. Gem come Devise, Sidekiq Web UI e ActiveAdmin sono esempi di engine popolari usati nell'ecosistema Rails.

2

Quale comando si usa per generare un nuovo Rails Engine mountable?

Risposta

Il comando rails plugin new con l'opzione --mountable genera un engine completo con il proprio namespace, route isolate e struttura delle cartelle. L'opzione --mountable crea un engine completamente isolato dall'applicazione host, a differenza di --full che genera un engine non isolato che condivide il namespace dell'applicazione principale.

3

Qual è la principale differenza tra un engine --mountable e un engine --full?

Risposta

Un engine --mountable è completamente isolato con il proprio namespace (module), i propri helpers e route isolate sotto un prefisso configurabile. Un engine --full condivide il namespace dell'applicazione host, il che può creare conflitti di nomi. L'isolamento del mountable engine garantisce che le classi e le route dell'engine non inquinino lo spazio dei nomi dell'applicazione principale.

4

Come montare un Rails Engine nel file routes.rb dell'applicazione host?

5

A cosa serve la direttiva isolate_namespace in un Rails Engine?

+15 domande da colloquio

Padroneggia Ruby on Rails per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis