Ruby on Rails

Rails Engines 및 모듈식 앱

Mountable engines, isolated engines, namespacing, gem 기반 아키텍처

18 면접 질문·
Senior
1

Rails Engine란 무엇입니까?

답변

Rails Engine은 호스트 애플리케이션 안에 마운트할 수 있는 소형 Rails 애플리케이션입니다. 여러 애플리케이션 간에 코드(models, controllers, views, routes)를 공유하거나 분리되고 재사용 가능한 기능을 만들 수 있습니다. Devise, Sidekiq Web UI, ActiveAdmin 같은 gem은 Rails 생태계에서 널리 쓰이는 engine의 예입니다.

2

새로운 mountable Rails Engine을 생성하려면 어떤 명령을 사용합니까?

답변

rails plugin new 명령에 --mountable 옵션을 사용하면 자체 namespace, 격리된 routes, 폴더 구조를 가진 완전한 engine이 생성됩니다. --mountable 옵션은 호스트 애플리케이션에서 완전히 격리된 engine을 만듭니다. 반면 --full은 메인 애플리케이션의 namespace를 공유하는 비격리 engine을 생성합니다.

3

--mountable engine과 --full engine의 주요 차이점은 무엇입니까?

답변

--mountable engine은 자체 namespace(module), 자체 helpers, 그리고 구성 가능한 접두사 아래 격리된 routes를 가지며 완전히 격리됩니다. --full engine은 호스트 애플리케이션의 namespace를 공유하므로 이름 충돌이 발생할 수 있습니다. mountable engine의 격리는 engine의 클래스와 routes가 메인 애플리케이션의 네임스페이스를 오염시키지 않도록 보장합니다.

4

호스트 애플리케이션의 routes.rb 파일에서 Rails Engine을 어떻게 마운트합니까?

5

Rails Engine에서 isolate_namespace 지시어의 목적은 무엇입니까?

+15 면접 질문

다음 면접을 위해 Ruby on Rails을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기