Rails预编译供应商/资产

时间:2014-09-12 22:29:44

标签: ruby-on-rails ruby heroku precompile

我正在尝试预编译供应商资产文件夹中的文件。

在生产中的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,它可以正常工作,我将解决现在的问题。

1 个答案:

答案 0 :(得分:0)

试试这个:

config.assets.precompile << /\.(?:png)\z/

我不知道这里的功能在哪里,但当我将代码从您的版本更改为此时,它突然开始按预期工作。我只能建议,这是因为你将未转义的点字符放在regexp中并且它不能与文件名匹配。