0

font-awesome を使用しようとしていますが、実行時に次のエラーが発生します。

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")

そして、 rake assets:clobber を実行して、クリーンベースで開始します..今のところ、同じエラー

あなたの啓発をありがとう...

4

1 に答える 1

5

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 href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
于 2015-08-21T16:15:21.287 に答える