Ruby on Rails

Rails Engines & modulaire apps

Mountable engines, isolated engines, namespacing, gem-gebaseerde architectuur

18 gespreksvragen·
Senior
1

Wat is een Rails Engine?

Antwoord

Een Rails Engine is een miniatuur Rails-applicatie die binnen een hostapplicatie kan worden gemount. Het maakt het mogelijk om code (models, controllers, views, routes) te delen tussen meerdere applicaties of om geïsoleerde en herbruikbare functies te maken. Gems zoals Devise, Sidekiq Web UI en ActiveAdmin zijn voorbeelden van populaire engines die in het Rails-ecosysteem worden gebruikt.

2

Welk commando wordt gebruikt om een nieuwe mountable Rails Engine te genereren?

Antwoord

Het commando rails plugin new met de optie --mountable genereert een complete engine met een eigen namespace, geïsoleerde routes en mappenstructuur. De optie --mountable maakt een engine die volledig geïsoleerd is van de hostapplicatie, in tegenstelling tot --full, dat een niet-geïsoleerde engine genereert die de namespace van de hoofdapplicatie deelt.

3

Wat is het belangrijkste verschil tussen een --mountable engine en een --full engine?

Antwoord

Een --mountable engine is volledig geïsoleerd met een eigen namespace (module), eigen helpers en routes die geïsoleerd zijn onder een configureerbare prefix. Een --full engine deelt de namespace van de hostapplicatie, wat naamconflicten kan veroorzaken. De isolatie van de mountable engine zorgt ervoor dat de klassen en routes van de engine de namespace van de hoofdapplicatie niet vervuilen.

4

Hoe mount je een Rails Engine in het routes.rb-bestand van de hostapplicatie?

5

Wat is het doel van de isolate_namespace-directive in een Rails Engine?

+15 gespreksvragen

Beheers Ruby on Rails voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis