Ruby on Rails

Rails Engines i aplikacje modułowe

Mountable engines, isolated engines, namespacing, architektura oparta na gem

18 pytań z rozmów·
Senior
1

Czym jest Rails Engine?

Odpowiedź

Rails Engine to miniaturowa aplikacja Rails, którą można zamontować wewnątrz aplikacji hosta. Umożliwia współdzielenie kodu (models, controllers, views, routes) między wieloma aplikacjami lub tworzenie izolowanych i wielokrotnego użytku funkcji. Gemy takie jak Devise, Sidekiq Web UI i ActiveAdmin to przykłady popularnych engine'ów używanych w ekosystemie Rails.

2

Które polecenie służy do wygenerowania nowego mountable Rails Engine?

Odpowiedź

Polecenie rails plugin new z opcją --mountable generuje kompletny engine z własnym namespace, izolowanymi routes i strukturą folderów. Opcja --mountable tworzy engine całkowicie odizolowany od aplikacji hosta, w przeciwieństwie do --full, które generuje nieodizolowany engine współdzielący namespace głównej aplikacji.

3

Jaka jest główna różnica między engine --mountable a engine --full?

Odpowiedź

Engine --mountable jest całkowicie odizolowany z własnym namespace (module), własnymi helpers i routes izolowanymi pod konfigurowalnym prefiksem. Engine --full współdzieli namespace aplikacji hosta, co może powodować konflikty nazw. Izolacja mountable engine zapewnia, że klasy i routes engine nie zanieczyszczają przestrzeni nazw głównej aplikacji.

4

Jak zamontować Rails Engine w pliku routes.rb aplikacji hosta?

5

Jaki jest cel dyrektywy isolate_namespace w Rails Engine?

+15 pytań z rozmów

Opanuj Ruby on Rails na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo