Snelle referentie

Rails engines & plugins spiekbriefje

Een snelle naslaggids voor Rails Engines en plugins: engines genereren, initializers, geïsoleerde namespaces, routes koppelen en gem-configuratie.

· Gepubliceerd

Rails Engines zijn mini-applicaties verpakt als Ruby-gems die hun eigen modellen, controllers, views, routes en migraties bieden.

Een Rails Engine Plugin genereren

# Genereer een koppelbare full-stack engine met geïsoleerde namespace
bin/rails plugin new my_engine --mountable --skip-bundle

Engine-architectuur

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

Koppelen in hostapplicatie

In de config/routes.rb van de hostapplicatie:

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

Engine-migraties

Om engine-migraties naar de hoofdapplicatie te kopiëren:

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

Referenties

Verwante onderwerpen