
Rails Engines i aplikacje modułowe
Mountable engines, isolated engines, namespacing, architektura oparta na gem
1Czym jest Rails Engine?
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.
2Które polecenie służy do wygenerowania nowego mountable Rails Engine?
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.
3Jaka jest główna różnica między engine --mountable a engine --full?
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.
Jak zamontować Rails Engine w pliku routes.rb aplikacji hosta?
Jaki jest cel dyrektywy isolate_namespace w Rails Engine?
+15 pytań z rozmów
Inne tematy rekrutacyjne Ruby on Rails
Podstawy Ruby
Programowanie obiektowe w Ruby
Podstawy Rails
Routing & Controllers
Podstawy ActiveRecord
Widoki i szablony ERB
Asocjacje ActiveRecord
Zaawansowane zapytania ActiveRecord
Formularze Rails
Uwierzytelnianie i autoryzacja
Nowoczesny Asset Pipeline i frontend
Tryb API Rails
Testowanie z RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Strategie cachowania
Zaawansowane migracje
Optymalizacja wydajności
Wzorce projektowe w Rails
Metaprogramowanie w Ruby
Bezpieczeństwo Rails
GraphQL z Rails
Wdrażanie i Produkcja
Monitoring & Logging
Strategie aktualizacji Rails
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