Rails 4预编译不需要的文件

时间:2014-02-25 15:15:00

标签: ruby-on-rails ruby-on-rails-4 assets production-environment

Rails预编译了不需要的字体文件,因为.eot.woff.svg.ttf格式不在Rails.application.config.assets.precompile列表中。

/app/assets/stylesheets/subscriber/font-awesome.css.scss

@font-face {
  font-family: 'FontAwesome';
  src: url('fontawesome-webfont.eot?v=3.1.0');
  src: url('fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'),
  url('fontawesome-webfont.woff?v=3.1.0') format('woff'),
  url('fontawesome-webfont.ttf?v=3.1.0') format('truetype'),
  url('fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');
  font-weight: normal;
  font-style: normal;
}

我的字体放在app/assets/fonts/subscriber文件夹中。

预编译格式:

$ rails c -e production
Loading production environment (Rails 4.0.2)
2.0.0-p353 :001 > y Rails.application.config.assets.precompile
---
- !ruby/object:Proc {}
- !ruby/regexp /(?:\/|\\|\A)application\.(css|js)$/
- active_admin.js
- active_admin.css
- active_admin/print.css
 => nil 

我不知道为什么Rails会预编译它们。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Rails Guides摘要:

如果您不希望对资产进行预编译,请将它们放在public/assets文件夹中,而不是app/assets文件夹中。