ruby-on-rails-3 - Rails——使用 CSS3 的@font-face

标签 ruby-on-rails-3 css font-face

在由 application.html.erb 加载的我的 global.css 文件中,我有以下几行:

@font-face {
  font-family: myfont;
  src: url(/lib/fonts/MyFont-AH.ttf) format("truetype"); /* For IE */
  src: local("MyFont-AH"), url(/lib/fonts/MyFont-AH.ttf) format("truetype"); /* Non-IE */ 

}

然后我在其他地方

h1 {
  font-family: myfont, helvetica, arial;
}

当我启动服务器时 h1 使用的是 Helvetica 字体,我在日志中收到错误 ActionController::RoutingError (No route matches [GET] "/lib/fonts/MyFont-AH.ttf"):。我想这意味着我需要编辑我的路由文件,所以我去添加了 get "/lib/fonts/MyFont-AH.ttf" 行,但是当我重新加载页面时我收到错误 missing :controller 因为没有 Controller 绑定(bind)到此操作。当我创建一个 Controller 并将 get 请求与其匹配时,它需要一个模板。它似乎希望我像大多数其他 get 请求一样设置 Controller /操作,所以我不太确定在这里做什么。有什么建议吗?

最佳答案

我升级到 Rails 3.2 并使用 Asset Pipeline(来自 Rails 3.1+),并将我想要显示的字体放在 vendor/assets/fonts 中.然后我将以下行添加到我的 application.rb文件:config.assets.paths << "#{Rails.root}/vendor/assets/fonts" .最后,在我的 CSS 文件中,我使用了以下格式:

@font-face {
  font-family: myfont;
  src: url("/assets/myfont.ttf") format("truetype"); /* For IE */
  src: local("myfont"), url("/assets/myfont.ttf") format("truetype"); /* For non-IE */
}

我认为部分原始问题可能是我的文件以扩展名 .TTF 存储而不是 .ttf但我不确定。我所知道的是它现在正在运行。

关于ruby-on-rails-3 - Rails——使用 CSS3 的@font-face,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9033483/

相关文章:

rubygems - 如何在 Rails 3 中重新加载所有 gem ?

ruby-on-rails - 在 Active Admin (Rails 3.2/postgreSQL/active admin 1.0) 上过滤多选

ruby-on-rails-3 - 无法使用nested_form_for gem

jquery - 在 AJAX 请求中传递 null,Rails 将其解释为 "null"

css - 如何使用 webpack 缩小单个 css 文件?

css - Django REST 框架 : How do I change the color of top strip in Browsable UI

html - 在线转换 eot 文件不起作用

css - 错误的 bbox 或带有 @font-face 和 opentype 字体的血统

html - CSS 问题 : why my css stylesheet selector not working?

html - css font-face 不适用于@fonsquirrel