Вам нужно будет определить класс в вашем плагине, который наследуется от Rails::Engine
.По сути, функция, которую вы хотите , представляет собой движок .
. Определите класс следующим образом:
lib / your_thing / engine.rb
module YourThing
class Engine < Rails::Engine
end
end
Затем вы можете определить контроллеры вашего двигателя на app/controllers
в этом плагине, и для их аккуратной работы вам также потребуется определить маршруты для них, что вы можете сделать внутри config/routes.rb
внутри двигателя, как это:
YourThing::Engine.routes.draw do
resources :things
end
Далее вам нужно будет смонтировать свой движок внутри приложения:
mount YourThing::Engine, :at => "/"
Приложение сможет использовать маршруты из вашего движка.
Для получения дополнительной информации, я в процессе написания официального руководства по Rails Engine, на которое вы можете сослаться здесь. Пожалуйста, дайте мне знать, если у вас есть какие-либо дополнительные вопросы, и я постараюсь ответить на них вруководство.