
Rails Engines та модульні застосунки
Mountable engines, isolated engines, namespacing, архітектура на основі gem
1Що таке Rails Engine?
Що таке Rails Engine?
Відповідь
Rails Engine — це мініатюрний застосунок Rails, який можна змонтувати всередині хост-застосунку. Він дозволяє спільно використовувати код (models, controllers, views, routes) між кількома застосунками або створювати ізольовані та повторно використовувані функції. Gem-и на кшталт Devise, Sidekiq Web UI та ActiveAdmin — це приклади популярних engine, що застосовуються в екосистемі Rails.
2Яка команда використовується для створення нового mountable Rails Engine?
Яка команда використовується для створення нового mountable Rails Engine?
Відповідь
Команда rails plugin new з опцією --mountable генерує повноцінний engine із власним namespace, ізольованими routes та структурою папок. Опція --mountable створює engine, повністю ізольований від хост-застосунку, на відміну від --full, яка генерує неізольований engine, що використовує namespace основного застосунку.
3Яка основна різниця між engine --mountable та engine --full?
Яка основна різниця між engine --mountable та engine --full?
Відповідь
Engine --mountable повністю ізольований із власним namespace (module), власними helpers та routes, ізольованими під налаштовуваним префіксом. Engine --full використовує namespace хост-застосунку, що може спричинити конфлікти імен. Ізоляція mountable engine гарантує, що класи та routes engine не забруднюють простір імен основного застосунку.
Як змонтувати Rails Engine у файлі routes.rb хост-застосунку?
Яке призначення директиви isolate_namespace в Rails Engine?
+15 питань зі співбесід
Інші теми співбесід Ruby on Rails
Основи Ruby
Об'єктно-орієнтоване програмування в Ruby
Основи Rails
Routing & Controllers
Основи ActiveRecord
Views та шаблони ERB
Асоціації ActiveRecord
Розширені запити ActiveRecord
Форми Rails
Автентифікація та авторизація
Сучасний Asset Pipeline та frontend
Режим API Rails
Тестування з RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Стратегії кешування
Розширені міграції
Оптимізація продуктивності
Патерни проєктування Rails
Метапрограмування в Ruby
Безпека Rails
GraphQL із Rails
Розгортання та Продакшн
Monitoring & Logging
Стратегії оновлення Rails
Опануй Ruby on Rails для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно