Ich habe einige Schriftarten in meiner Scss-Datei wie folgt konfiguriert:
@font-face {
font-family: 'Icomoon';
src: asset-url('icoMoon.eot?#iefix', font) format('embedded-opentype'),
asset-url('icoMoon.woff', font) format('woff'),
asset-url('icoMoon.ttf', font) format('truetype'),
asset-url('icoMoon.svg#Icomoon', font) format('svg');
}
Die tatsächlichen Schriftdateien sind in /app/assets/fonts/ gespeichert.
Ich habe config.assets.paths << Rails.root.join("app", "assets", "fonts")
zu meiner application.rb-Datei hinzugefügt
und die kompilierte CSS-Quelle lautet wie folgt:
@font-face {
font-family: 'Icomoon';
src: url(/assets/icoMoon.eot?#iefix) format("embedded-opentype"), url(/assets/icoMoon.woff) format("woff"), url(/assets/icoMoon.ttf) format("truetype"), url(/assets/icoMoon.svg#Icomoon) format("svg");
}
Aber wenn ich die App ausführe, werden die Schriftdateien nicht gefunden. Die Logs:
Started GET "/assets/icoMoon.ttf" for 127.0.0.1 at 2012-06-05 23:21:17 +0100 Served asset /icoMoon.ttf - 404 Not Found (13ms)
Warum werden die Schriftartdateien nicht durch die Asset-Pipeline in nur /assets umgewandelt?
Irgendwelche Ideen Leute?
Mit freundlichen Grüßen, Neil
Zusätzliche Informationen:
Beim Überprüfen der Rails-Konsole für Assets-Pfade und assetprecompile erhalte ich folgendes:
1.9.2p320 :001 > y Rails.application.config.assets.precompile
---
- !ruby/object:Proc {}
- !ruby/regexp /(?:\/|\\|\A)application\.(css|js)$/
- .svg
- .eot
- .woff
- .ttf
=> nil
1.9.2p320 :002 > y Rails.application.config.assets.paths
---
- /Users/neiltonge/code/neiltonge/app/assets/fonts
- /Users/neiltonge/code/neiltonge/app/assets/images
- /Users/neiltonge/code/neiltonge/app/assets/javascripts
- /Users/neiltonge/code/neiltonge/app/assets/stylesheets
- /Users/neiltonge/code/neiltonge/vendor/assets/images
- /Users/neiltonge/code/neiltonge/vendor/assets/javascripts
- /Users/neiltonge/code/neiltonge/vendor/assets/stylesheets
- /Users/neiltonge/.rvm/gems/ruby-1.9.2-p320@neiltonge/gems/jquery-rails-2.0.0/vendor/assets/javascripts
- /Users/neiltonge/.rvm/gems/ruby-1.9.2-p320@neiltonge/gems/coffee-rails-3.2.1/lib/assets/javascripts
- /Users/neiltonge/.rvm/gems/ruby-1.9.2-p320@neiltonge/gems/bourbon-1.3.0/app/assets/stylesheets
- !ruby/object:Pathname
path: /Users/neiltonge/code/neiltonge/app/assets/fonts
=> nil
6 Stimmen
Sie haben den
font-url
Helper in SCSS in Rails.1 Stimmen
Das macht leider keinen Unterschied. Meine Frage steht daher immer noch im Raum.
0 Stimmen
Ich habe eine generische Methode entwickelt, um dieses Problem zu diagnostizieren und zu lösen unter stackoverflow.com/a/40898227/1197775.
0 Stimmen
Siehe meine Antwort. Du brauchst ein paar weitere Schritte. (benennen Sie Ihr CSS in css.scss um, verwenden Sie Schriftarten-For, bearbeiten Sie Ihren Initialisierer für Vermögenswerte und führen Sie auch den Befehl `rails assets:precompile` bei der Bereitstellung usw. aus).