seyhunak / twitter-bootstrap-rails

Twitter Bootstrap for Rails 6.0, Rails 5 - Rails 4.x Asset Pipeline
https://github.com/seyhunak/twitter-bootstrap-rails
4.49k stars 997 forks source link

Rails (3.1.2) application with the twitter-bootstrap-rails (2.2.8) doesn't show fontawesome icons on staging server #730

Closed tobiasmueller closed 10 years ago

tobiasmueller commented 10 years ago

Rails (3.1.2) application with the twitter-bootstrap-rails (2.2.8) gem. The application uses font awesome icons in views. The application.css.scss contains

@import "bootstrap_and_overrides";

bootstrap_and_overrides.css.less

@import "twitter/bootstrap/bootstrap";
@import "twitter/bootstrap/responsive";

// Set the correct sprite paths
@iconSpritePath: image-url("twitter/bootstrap/glyphicons-halflings.png");
@iconWhiteSpritePath: image-url("twitter/bootstrap/glyphicons-halflings-white.png");

// Set the Font Awesome (Font Awesome is default. You can disable by commenting below lines)
@fontAwesomeEotPath: asset-url("fontawesome-webfont.eot");
@fontAwesomeEotPath_iefix: asset-url("fontawesome-webfont.eot?#iefix");
@fontAwesomeWoffPath: asset-url("fontawesome-webfont.woff");
@fontAwesomeTtfPath: asset-url("fontawesome-webfont.ttf");
@fontAwesomeSvgPath: asset-url("fontawesome-webfont.svg#fontawesomeregular");

// Font Awesome
@import "fontawesome/font-awesome";   

On the local development environment everything is ok. After deployment with Capistrano to a staging environment, the icons are not showing up in the browsers.

Instead in the server console and in the browsers network monitor an 404 error shows up for the necesarry fontawesome font files.

Started GET "/assets/fontawesome-webfont.woff"
Served asset /fontawesome-webfont.woff - 404 Not Found (2ms)
ActionController::RoutingError (No route matches [GET] "/assets/fontawesome-webfont.woff"):
cache: [GET /assets/fontawesome-webfont.ttf] miss
Started GET "/assets/fontawesome-webfont.ttf"
Served asset /fontawesome-webfont.ttf - 404 Not Found (2ms)
ActionController::RoutingError (No route matches [GET] "/assets/fontawesome-webfont.ttf"):
cache: [GET /assets/fontawesome-webfont.svg] miss
Started GET "/assets/fontawesome-webfont.svg"
Served asset /fontawesome-webfont.svg - 404 Not Found (4ms)
ActionController::RoutingError (No route matches [GET] "/assets/fontawesome-webfont.svg"):

Concerning the 404 errors, looking in the appropriate folder on the staging server

[root@j87849 assets]# ls -l
total 840
-rw-rw-r-- 1 deploy deploy 288667 21. Apr 20:01 application.css
-rw-rw-r-- 1 deploy deploy  32651 21. Apr 20:01 application.css.gz
-rw-rw-r-- 1 deploy deploy    295 21. Apr 20:01 application.js
-rw-rw-r-- 1 deploy deploy    197 21. Apr 20:01 application.js.gz
-rwxr-xr-x 1 deploy deploy  37405  5. Apr 20:18 fontawesome-webfont.eot
-rwxr-xr-x 1 deploy deploy 197829  5. Apr 20:18 fontawesome-webfont.svg
-rwxr-xr-x 1 deploy deploy  79076  5. Apr 20:18 fontawesome-webfont.ttf
-rwxr-xr-x 1 deploy deploy  43572  5. Apr 20:18 fontawesome-webfont.woff
tobiasmueller commented 10 years ago

I've updated to Rails 3.2 Configured asset pipeline according to the Rails guide asset pipeline. Works now as expected.