Kurzreferenz

Rails Engines & Plugins Spickzettel

Ein Schnellreferenz-Leitfaden für Rails Engines und Plugins: Generierung von Engines, Initialisierer, isolierte Namespaces, Mounten von Routen und Gem-Konfiguration.

· Veröffentlicht

Rails Engines sind als Ruby Gems gepackte Mini-Anwendungen, die eigene Modelle, Controller, Views, Routen und Migrationen bereitstellen.

Ein Rails-Engine-Plugin generieren

# Mountbare Full-Stack-Engine mit isoliertem Namespace generieren
bin/rails plugin new my_engine --mountable --skip-bundle

Engine-Architektur

In 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

In Host-Anwendung einbinden (Mounting)

In der config/routes.rb der Host-Anwendung:

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

Engine-Migrationen

Um Engine-Migrationen in die Hauptanwendung zu kopieren:

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

Referenzen

Verwandte Themen