Я создаю модульное приложение Padrino для монтирования нескольких приложений.
Я монтирую базовое приложение на /
class BaseApp < Padrino::Application
...
end
Затем я подключаю другие приложения к другим конечным точкам, например /clients
, и эти приложения наследуются от базового приложения:
class ClientsApp < BaseApp
...
end
Это наследование позволяет мне определять все мои настройки, обработку ошибок и любое включенное промежуточное программное обеспечение стойки в app.rb
для класса BaseApp
.
Пока все хорошо. Но я также хотел бы поделиться маршрутизацией before
и after
между приложениями. Например, в моем коде контроллера BaseApp
я хочу сделать это:
BaseApp.controller do
before do
...
end
after do
...
end
get :index do
...
end
end
Вместо того, чтобы повторять эти фильтры в моем ClientsApp
коде контроллера, вот так:
ClientsApp.controller do
before do
...
end
after do
...
end
get :index do
...
end
end
Могу ли я в любом случае высушить этот код и указать фильтры один раз в BaseApp
, чтобы они как-то унаследовали? Я понимаю, что эти фильтры - вызовы методов, а не методы.
Спасибо!