资产管道预编译所有资产文件夹子目录
我喜欢保持我的资产高度组织,但是,我遇到了预编译的问题。 它没有拿起子目录。 以下是路径:
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/**/")