PIYO - Tech & Life -

Railsでbootstrap3のgem入れてアイコンフォントが使えないとき

bootstrap gem Rails

Railsでbootstrap使うときはgemを使ってやっちゃうと楽なんだけど、そもそもそういうgemが多すぎてわけわからないということがある。とりあえず僕はこれを使っている。READMEが短かったから。

benjamincanac/bootstrap3-rails

使い方はREADMEにある通りapplication.jsapplication.cssrequire文を加えればいいだけなのでややこしいことはなにもない。

ところで毎回bootstrapでつまづくこととしてアイコンフォントが表示されないっていう問題がある。特にRailsだとAsset Pipelineとかが絡んできてややこしい。このgemを使うようになってからも同じことを2回も調べたからここにメモしておくことにする。

まず、fontファイルをアプリケーションディレクトリ以下に置いてしまうことにする。bundle installした先にも置いてあるが、ここから持ってくるのも1つの手。

https://github.com/benjamincanac/bootstrap3-rails/tree/master/vendor/assets/fonts

ここにある4つのファイルをvendor/assets/fonts/ディレクトリ以下に配置する。

  • glyphicons-halflings-regular.eot
  • glyphicons-halflings-regular.svg
  • glyphicons-halflings-regular.ttf
  • glyphicons-halflings-regular.woff

そしてAssets Pipelineのパスに先ほどのディレクトリを追加してやることにする。config/application.rbに以下の一行を追加すればよい。

# config/application.rb
config.assets.paths << "#{Rails}/vendor/assets/fonts"

これでアイコンフォントが表示できるようになったはず。