/ / 404フォントが存在し、フォントへのパスが正しいにもかかわらず、欠落しているフォント - css、ruby-on-rails、twitter-bootstrap、asset-pipeline

404フォントが存在し、フォントへのパスが正しいにもかかわらず、欠落しているフォント - css、ruby-on-rails、twitter-bootstrap、asset-pipeline

私はRails 4とアセットパイプラインを使用しています。私はまた、ブートストラップ3を使用しています.app / assets / stylesheets / material_admin_themeでは、私はファイルbootstrap.cssを持っています。それはソースファイルへの@ font-face宣言を含んでいます:

@font-face {
font-family: "Glyphicons Halflings";
src: url("../../fonts/glyphicons-halflings-regular.eot");
src: url("../../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../../fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("../../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
}

パスは2つのディレクトリ../../をfontsディレクトリに移動します。したがって、2つのディレクトリがスタイルシート/アセットであり、指定されたフォントを持つfontsという子ディレクトリがあります。

app/assets/fonts/glyphicons-halflings-regular.ttf

したがって、ソースURLは正しくフォントにつながります。ただし、ページを読み込むと、Chrome Consoleで404:

GET http://localhost:3000/fonts/glyphicons-halflings-regular.ttf 404 (Not Found)

フォントが存在し、ソースURLが正しいパスである場合、この404 Not Foundメッセージが表示され、その結果アイコンがページに表示されないのはなぜですか?

回答:

回答№1は0

確かに、混乱はアセットパイプラインにあります。 どんな環境、開発、生産などでもページを読み込むとき、assetsフォルダ内のディレクトリツリーは適用できません。public / assetsフォルダを見ています。そのディレクトリでは、アイコンは単にassetsディレクトリにダンプされます。したがって、私はこのパスを変更したとき:

src: url("/assets/glyphicons-halflings-regular.eot");

出来た。 ここでも、アセットをプリコンパイルすると、publicディレクトリにフォントディレクトリが生成されません。これは、コンパイルされたスタイルシートとjavascriptと共にroot / assetsディレクトリのフォントをダンプするだけです。