Rails 4.2:“不应在没有摘要的情况下直接请求资产”

时间:2014-08-24 04:10:42

标签: ruby-on-rails ruby-on-rails-4

On Rails 4.2.0.beta1我收到错误:

  

不应在没有摘要的情况下直接请求资产:使用ActionView :: Helpers中的帮助程序来请求fonts / source-sans-pro.woff

样式表:

@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(/assets/source-sans-pro.woff) format('woff');
}

配置为:

config.serve_static_assets = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.precompile += %w(.svg .eot .woff .ttf)

当然我可以禁用摘要并且它再次有效,但我对使用它们很感兴趣。因此,当我需要source-sans-pro.woff时,如何使用摘要?

请注意,我将字体放在assets/fonts目录中,而不是public/目录中。我没有看到图像和字体之间的区别,所以我想将它们保存在同一目录下 - app/assets

1 个答案:

答案 0 :(得分:5)

使用font_path帮助程序。您必须确保样式表具有filename.css.scss格式才能生效。

@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(font_path('source-sans-pro.woff')) format('woff');
}