Snabbreferens

Rails motorer och insticksprogram fusklapp

En snabb referensguide för Rails Engines och plugins: generera motorer, initialiserare, isolerade namnrymder, montering av rutter och gem-konfiguration.

· Publicerad

Rails Engines är miniapplikationer paketerade som Ruby-gems som tillhandahåller egna modeller, controllers, vyer, rutter och migreringar.

Generera ett Rails Engine-plugin

# Generera en monterbar full-stack motor med isolerad namnrymd
bin/rails plugin new my_engine --mountable --skip-bundle

Motorarkitektur

I 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

Montering i värdapplikationen

I värdapplikationens config/routes.rb:

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

Motormigreringar

För att kopiera motorns migreringar till huvudapplikationen:

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

Referenser

Relaterade ämnen