Bereitstellen von Zeichensätzen aus einem nicht standardmäßigen Verzeichnis mithilfe von Asset Pipeline
Ich versuche, Fontawesome in eine Rails 4-App aufzunehmen, aber die Assets schaffen es nicht in die Asset-Pipeline. Die Schriften machen es jedoch in der Produktion nicht fertig und ich kann nicht herausfinden, warum.
Organisation der DateistrukturAlle meine Vermögenswerte werden in gespeichert/assets/components
so dass Fontawesome erscheint in:/assets/components/font-awesome
(Sie befinden sich in einem anderen Verzeichnis, weil ich Bower verwende.)
# application.css.scss
/* ...
*= require bootstrap/dist/css/bootstrap
*= require font-awesome/css/font-awesome
*= require_self
*= require_tree .
*/
Die Asset-Pipeline ist so eingestellt, dass Schriften vorkompiliert werden# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
config.assets.paths << Rails.root.join('vendor', 'assets', 'components')
# Adding Webfonts to the Asset Pipeline
config.assets.precompile << Proc.new { |path|
if path =~ /\.(eot|svg|ttf|woff|otf)\z/
true
end
}
Ich habe die Vorkompilierungsanweisungen hinzugefügt, damit alle Schriftarten vorkompiliert werdengemäß dieser Frage
Heroku 12-Faktor-Edelstein ist enthalten#gemfile
group :production do
gem "rails_12factor"
end
Also, was ist das Problem?Wenn ich zu Heroku gehe, wird angezeigt, dass die Anwendung die Dateien anfordert, diese jedoch nicht laden:
Und wenn man sich die Protokolle ansieht, scheint es ein Routing-Problem zu sein - ich hätte erwartet, dass die Schriftart von geliefert wird/assets/fonts
aber es schaut anscheinend rein/fonts
app[web.1]: Started GET "/fonts/fontawesome-webfont.ttf?v=4.0.1" for 86.161.231.181 at 2013-10-29 15:53:01 +0000
app[web.1]: Started GET "/fonts/fontawesome-webfont.ttf?v=4.0.1" for 86.161.231.181 at 2013-10-29 15:53:01 +0000
app[web.1]:
app[web.1]: ActionController::RoutingError (No route matches [GET] "/fonts/fontawesome-webfont.ttf"):
Warum werden die Vermögenswerte nicht bedient?Ich bin ein bisschen verwirrt mit all dem. Warum werden diese Schriftarten nicht geliefert?