빠른 참조

Rails 엔진 및 플러그인 치트시트

Rails 엔진(Engines) 및 플러그인 빠른 참조 가이드: 엔진 생성, 이니셜라이저, 격리된 네임스페이스, 라우트 마운팅 및 Gem 구성.

· 게시일

Rails Engine은 자체 모델, 컨트롤러, 뷰, 라우트 및 마이그레이션을 패키징하여 제공하는 Ruby gem 형태의 미니 애플리케이션입니다.

Rails 엔진 플러그인 생성

# 격리된 네임스페이스를 가진 마운트 가능한 풀스택 엔진 생성
bin/rails plugin new my_engine --mountable --skip-bundle

엔진 아키텍처

lib/my_engine/engine.rb 내부:

module MyEngine
  class Engine < ::Rails::Engine
    isolate_namespace MyEngine

    initializer "my_engine.assets" do |app|
      app.config.assets.precompile += %w[my_engine/application.css]
    end
  end
end

호스트 애플리케이션에 마운트

호스트 애플리케이션의 config/routes.rb 내에서:

Rails.application.routes.draw do
  mount MyEngine::Engine => "/blog"
end

엔진 마이그레이션

엔진 마이그레이션을 상위 애플리케이션에 복사:

bin/rails my_engine:install:migrations
bin/rails db:migrate

참고 자료

관련 주제