I am trying to use bootstrap 3 in my rails 4 app. Followed this tutorial to set up bootstrap 3 using bootstrap saas from this github page.
Bootstrap is working fine but glyphicons are not working as expected.
Certain glyphicons are not displaying at all. For e.g. I tired to display a few of them for testing in my application.html.erb:
glyphicon glyphicon-floppy-disk -> <span class="glyphicon glyphicon-floppy-disk"></span>
</br>
glyphicon glyphicon-plus -> <span class="glyphicon glyphicon-plus"></span>
</br>
glyphicon glyphicon-minus -> <span class="glyphicon glyphicon-minus"></span>
The icons render like this
The floppy-disk icon is not rendered at all (showing an invalid charecter) The plus and minus sigs are not bold and much smaller than the ones shown on the bootstap website.
I am also seeing the following messages on the rails console.
Started GET "/fonts/glyphicons-halflings-regular.woff" for 127.0.0.1 at 2014-02-22 16:29:54 -0800
ActionController::RoutingError (No route matches [GET] "/fonts/glyphicons-halflings-regular.woff"):
Started GET "/fonts/glyphicons-halflings-regular.ttf" for 127.0.0.1 at 2014-02-22 16:29:54 -0800
ActionController::RoutingError (No route matches [GET] "/fonts/glyphicons-halflings-regular.ttf"):
Started GET "/fonts/glyphicons-halflings-regular.svg" for 127.0.0.1 at 2014-02-22 16:29:54 -0800
ActionController::RoutingError (No route matches [GET] "/fonts/glyphicons-halflings-regular.svg"):
I would really appreciate your inputs on this issue.
Thanks!
Adding the following to application.scss worked for me on Rails 5 (after uncommenting
@import "bootstrap/glyphicons";
from the same file [using the orats gem])Update to this. I was having the same issue and went through the steps provided by the #1 answer from Oddurs. That didn't work for me for some reason. And then I realized it had to do with the file structure in my public folder (not sure why mine was different).
Basically I got it to work by adding "/bootstrap" after "/assets" since all my glyphicons were in a "/bootstrap" folder I believe by default
So instead of this:
I did this:
in the application.css. Hopefully that helps somebody
Make sure your
gemfile
is up to date and that thevendor/cache
is clear.My issue was due to odd versions of gems, so I ran
bundle update
which refreshed thecache
.Once I did that, for good measure I make for other caches cleared too
rake assets:clobber
and re-compiled the assetsRAILS_ENV=production rake assets:precompile
.Then I restarted nginx
../bin/restart
and magic.... the glyphicons appeared instead of a odd square thing in Firefox on the desktop and a camera on the iPad. All in place of the man glyphicon.If you are tired of the magic of bootstrap-sass or twitter-bootstrap-rails, or if you want to stay with a specific version of bootstrap, here is manual thing you can do:
Download bootstrap from http://getbootstrap.com/, put the files inside your
#{Rails.root}/vendor/assets/javascripts
In the file app/assets/javascripts/application.js, write
//= require 'bootstrap-3.3.6-dist/js/bootstrap.min'
In the file app/assets/stylesheets/application.css, write
*= require 'bootstrap-3.3.6-dist/css/bootstrap.min'
Put a script like this in your {Rails.root}/bin and configure it to run by capistrano when you deploy to production:
From now on, each time you say
cap production deploy
, all the manual things will be taken care of.I am using angular-ui-bootstrap-rails gem
I downloaded bootstrap and pasted the fonts folder under app/assets folder
Then restart rails server.
If you are using bootstrap-sass-official, add this before you import bootstrap:
$icon-font-path: 'bootstrap-sass-official/assets/fonts/bootstrap/';