使用 Rack::Static 在项目目录之外挂载目录



我正在构建一个Rails引擎,其中包括一些通过Webpacker构建的资产,我正在遵循Webpacker文档。

我想将此引擎作为 gem 分发,并通过主机应用程序中的Rack::Static中间件直接从引擎的 gem 提供引擎的资产。

这就是我正在尝试的:

# 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

如果我将Rack::Staticroot:选项设置为相对路径(例如:my_engine/public(,然后在主机项目中创建一个指向 gem 中相关目录的符号链接,这将起作用,但是上面的代码生成绝对路径不起作用。

我该怎么做才能解决这个问题?

root:MyEngine::Engine.root.join("public"(

相关内容

  • 没有找到相关文章

最新更新