Я создаю Rails Engine, который включает в себя некоторые ресурсы, созданные через Webpacker, и я следую документации Webpacker по этому вопросу.
Я хотел бы распространить этот движок как gem и обслуживать ресурсы движка напрямую из самоцвета движка через промежуточное ПО Rack::Static
в хост-приложении.
Вот что я пытаюсь:
# in the engine project: lib/my_engine/engine.rb
module MyEngine
class Engine < ::Rails::Engine
(...)
config.app_middleware.use(
Rack::Static,
urls: ['/myengine'], root: File.join(__dir__, 'public')
)
end
end
Если я установите для параметра root:
для Rack::Static
относительный путь (например, my_engine/public
), а затем создайте символическую ссылку в хост-проекте на соответствующий каталог в геме, это будет работать, однако приведенный выше код, который генерирует абсолютный путь, не работает.
Что я могу сделать, чтобы это исправить?