Rails 4.2 / Bootstrap 3 : 尝试使用 font-awesome ...我成功了

Rails 4.2 / Bootstrap 3 : trying to use font-awesome ... wo success

我正在尝试使用 font-awesome,但是在 运行ning 时,我收到以下错误

ActionController::RoutingError (No route matches [GET] "/assets/fonts/font-awesome/fontawesome-webfont.woff"):
....
ActionController::RoutingError (No route matches [GET] "/assets/fonts/font-awesome/fontawesome-webfont.ttf"):
....
ActionController::RoutingError (No route matches [GET] "/assets/fonts/font-awesome/fontawesome-webfont.svg"):

在我的 Gemfile 中有:

 gem "font-awesome-rails"  # https://github.com/bokmann/font-awesome-rails

在我的 framework_and_overrides.css.scss 我有:

// import the CSS framework
@import "bootstrap-sprockets";
@import "bootstrap";
@import "font-awesome";

在我的 application.css 我有:

/*
...
*= require font-awesome
*= require dashboard/framework_and_overrides
....
*/

我在 application.rb 中添加了:

config.assets.paths << Rails.root.join("app", "assets", "fonts")

我 运行 耙 assets:clobber ,从头开始..现在,同样的错误

多谢指教...

从 application.css 中删除:

*= require font-awesome

在您的 framework_and_overrides.css.scss 底部添加以下行:

@import "font-awesome-sprockets";
@import "font-awesome";

更新

原来您的资产路由有问题。 Rails 根据资产是否预编译创建资产路径。让事情在所有情况下(生产和开发)都有效的最安全方法是将路由放在 font_url 中,如下所示:

@font-face {
  font-family: "FontAwesome";
  src: font_url('fontawesome-webfont.eot');
  src: font_url('fontawesome-webfont.eot?#iefix') format('eot'), font_url('fontawesome-webfont.woff') format('woff'), font_url('fontawesome-webfont.ttf') format('truetype'), font_url('fontawesome-webfont.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

或者,您可以 link 外部样式表(性能可能会变差):

<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">