【发布时间】:2015-01-24 16:58:49
【问题描述】:
我正在研究 Rails 引擎。该引擎在其 public 文件夹中包含一些静态 JS/CSS,我希望这些资产被合并到宿主应用程序中并由宿主应用程序提供服务。
我将此添加到我的engine.rb 文件中:
initializer "static assets" do |app|
app.middleware.insert_before(::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public")
end
有趣的是,当我在 Rails 引擎中运行虚拟应用程序时,或通过 path 在我的文件系统上的单独应用程序中安装引擎:
gem 'my-engine', path: '~/my-engine`
一切正常。但是一旦我发布到 RubyGems 并通过
安装到另一个应用程序中gem 'my-engine'
静态资源全部 404。
关于如何诊断的任何想法?在主机应用程序中我还需要做些什么来确保静态资产被拉入+被服务?这不是生产环境的东西,因为它甚至在开发中都不起作用。
【问题讨论】:
-
这是什么版本的rails?轨道 4?
标签: ruby-on-rails rails-engines