繁体   English   中英

Rails引擎的静态资产未在主机应用程序中提供

[英]Rails engine's static assets not being served in host app

我正在研究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。

关于如何诊断的任何想法? 在主机应用程序中还有什么我需要做的,以确保静态资产被拉入+服务吗? 它不是生产环境的东西,因为它甚至不能用于开发。

我忘了public我的.gemspec文件配置选项:

Gem::Specification.new do |s|
  ..
  s.files = Dir["{app,config,db,lib,public}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"]

现在一切正常!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM