资产管道预编译所有资产文件夹子目录

我喜欢保持我的资产高度组织,但是,我遇到了预编译的问题。 它没有拿起子目录。 以下是路径:

assets >fonts >images >>backgrounds >>home >>icons 

一切都适用于开发,但prod =没有去。 在我的生产环境中,我已经做过:

  config.assets.enabled = true config.assets.compile = true config.assets.precompile += ['*.js', '*.ico', '*.png', '*.jpg'] config.assets.initialize_on_precompile = true 

我目前在application.rb文件中运行以下函数:

  # Add All Asset Pipeline Sub Folders Dir.glob("#{Rails.root}/app/assets/images/**/").each do |path| config.assets.paths << path end 

这是我一直在努力的事情,没有太多运气。 我希望用几行代码动态地拾取创建/更改的所有目录,所以我不必逐个添加它们…..

  # Add All Asset Pipeline Sub Folders Dir.glob("#{Rails.root}/app/assets/images/**/").each do |path| config.assets.paths << path config.assets.precompile += ['#{path}/*'] end 

思考?

更新方案

我最终在生产rb中使用以下内容:

  config.assets.precompile += ['*.js', '*.ico', '*.png', '*.jpg'] config.assets.precompile += [ Dir["#{Rails.root}/app/assets/images/**/*"].reject {|fn| File.directory?(fn) } ] 

 # Add All Asset Pipeline Sub Folders Dir.glob("#{Rails.root}/app/assets/images/**/").each do |path| .. # seems you include /assets/images sub directories, expand the path 

Ruby命令:

 Dir.glob("#{Rails.root}/app/assets/images/**/") 

返回位于内部的目录

/图片

目录。 我假设你只推送预编译器图像资产。 有意义吗? 替换为:

  Dir.glob("#{Rails.root}/app/assets/**/")