我正在尝试预编译供应商资产文件夹中的文件。
在生产中的rails控制台中我得到了这个:
puts Rails.application.config.assets.precompile
#<Proc:0x000000023b2110@/home/pills/.rvm/gems/ruby-2.1.0/gems/sprockets-rails-2.1.3/lib/sprockets/railtie.rb:40 (lambda)>
(?-mix:(?:\/|\\|\A)application\.(css|js)$)
(?-mix:.*.png)
puts Rails.application.config.assets.paths
/media/pills/be3eb155-9e10-4a71-9737-c82606a3dbd4/home/ububtu/code/ccr/app/assets/fonts
/media/pills/be3eb155-9e10-4a71-9737-c82606a3dbd4/home/ububtu/code/ccr/app/assets/images
/media/pills/be3eb155-9e10-4a71-9737-c82606a3dbd4/home/ububtu/code/ccr/app/assets/javascripts
/media/pills/be3eb155-9e10-4a71-9737-c82606a3dbd4/home/ububtu/code/ccr/app/assets/stylesheets
/media/pills/be3eb155-9e10-4a71-9737-c82606a3dbd4/home/ububtu/code/ccr/vendor/assets/chosen
/media/pills/be3eb155-9e10-4a71-9737-c82606a3dbd4/home/ububtu/code/ccr/vendor/assets/javascripts
/media/pills/be3eb155-9e10-4a71-9737-c82606a3dbd4/home/ububtu/code/ccr/vendor/assets/stylesheets
/home/pills/.rvm/gems/ruby-2.1.0/gems/turbolinks-2.2.2/lib/assets/javascripts
/home/pills/.rvm/gems/ruby-2.1.0/gems/jquery-rails-3.1.0/vendor/assets/javascripts
/home/pills/.rvm/gems/ruby-2.1.0/gems/coffee-rails-4.0.1/lib/assets/javascripts
预编译的最后一部分是通过以下方式生成的:
config.assets.precompile += [/.*.png/]
为什么所选文件夹中的png文件未进行预编译?
如果我将png复制到app / assets / images,它可以正常工作,我将解决现在的问题。
答案 0 :(得分:0)
试试这个:
config.assets.precompile << /\.(?:png)\z/
我不知道这里的功能在哪里,但当我将代码从您的版本更改为此时,它突然开始按预期工作。我只能建议,这是因为你将未转义的点字符放在regexp中并且它不能与文件名匹配。