【问题标题】:Rails precompile vendor/assetRails 预编译供应商/资产
【发布时间】:2014-09-12 22:29:43
【问题描述】:

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

在生产中的 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 中,它可以工作,我现在会以这种方式解决问题。

【问题讨论】:

    标签: ruby-on-rails ruby heroku precompile


    【解决方案1】:

    试试这个:

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

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

    【讨论】:

      猜你喜欢
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-27
      相关资源
      最近更新 更多