Riferimento rapido

Guida rapida a Engine e Plugin in Rails

Guida rapida a Rails Engine e plugin: generazione di engine, initializer, namespace isolati, montaggio delle route e configurazione di gem.

· Pubblicato

I Rails Engine sono mini-applicazioni impacchettate come gem Ruby che forniscono propri modelli, controller, viste, rotte e migrazioni.

Generazione di un plugin Rails Engine

# Genera un engine montabile con namespace isolato
bin/rails plugin new my_engine --mountable --skip-bundle

Architettura dell'Engine

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

Montaggio nell'applicazione host

Nel file config/routes.rb dell'applicazione host:

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

Migrazioni dell'Engine

Per copiare le migrazioni dell'engine nell'applicazione principale:

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

Riferimenti

Argomenti correlati