Ruby on Rails

Rails Engines & modulare Apps

Mountable Engines, isolated Engines, Namespacing, gem-basierte Architektur

18 Interview-Fragen·
Senior
1

Was ist eine Rails Engine?

Antwort

Eine Rails Engine ist eine miniaturisierte Rails-Anwendung, die innerhalb einer Host-Anwendung gemountet werden kann. Sie ermöglicht das Teilen von Code (models, controllers, views, routes) zwischen mehreren Anwendungen oder das Erstellen isolierter und wiederverwendbarer Funktionen. Gems wie Devise, Sidekiq Web UI und ActiveAdmin sind Beispiele für beliebte Engines im Rails-Ökosystem.

2

Welcher Befehl wird verwendet, um eine neue mountable Rails Engine zu generieren?

Antwort

Der Befehl rails plugin new mit der Option --mountable generiert eine vollständige Engine mit eigenem namespace, isolierten routes und Ordnerstruktur. Die Option --mountable erstellt eine Engine, die vollständig von der Host-Anwendung isoliert ist, im Gegensatz zu --full, das eine nicht isolierte Engine generiert, die den namespace der Hauptanwendung teilt.

3

Was ist der Hauptunterschied zwischen einer --mountable Engine und einer --full Engine?

Antwort

Eine --mountable Engine ist vollständig isoliert mit eigenem namespace (module), eigenen helpers und routes, die unter einem konfigurierbaren Präfix isoliert sind. Eine --full Engine teilt den namespace der Host-Anwendung, was Namenskonflikte verursachen kann. Die Isolation der mountable Engine stellt sicher, dass die Klassen und routes der Engine den Namensraum der Hauptanwendung nicht verunreinigen.

4

Wie mountet man eine Rails Engine in der routes.rb-Datei der Host-Anwendung?

5

Welchen Zweck hat die isolate_namespace-Direktive in einer Rails Engine?

+15 Interview-Fragen

Meistere Ruby on Rails für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten