Rails 4.1.5 で使っている font-awesome-sass gem を 4.1.0 から 4.2.0 にあげたところ、 アイコンが表示されなくなったので、原因を調べてみました。

解決方法

https://github.com/FortAwesome/font-awesome-sass には 3.x からのアップグレード方法しか 書いていないのですが、 4.1.0 などの 4.x 系から 4.2.0 にあげるときは

*= require font-awesome

の代わりに

@import "font-awesome-sprockets";
@import "font-awesome";

のように @import を使う必要があり、 既に @import を使っている場合でも @import "font-awesome-sprockets"; の行の追加が必要でした。

詳細

4.1.0 と 4.2.0 の差分の Refactoring for use in multiple Ruby envs and upgrading to FontAwesome 4.2.0 を眺めてみると、 FontAwesome を 4.2.0 にあげる以外に vendor/assets/ から assets/ に移動していたり、 それに関係する変更をしていたりするようです。

それから詳しいことはわかりませんが、 icon-font-path($path)icon-image-path($path) で それぞれ sprockets では font-path($path)image-path($path) で、 compass では font-url($path, true)image-url($path, true) を 使うようになった影響で @import "font-awesome-sprockets" が必要になったようです。

Disqus Comments

Kazuhiro NISHIYAMA

Ruby のコミッターとかやってます。 フルスタックエンジニア(って何?)かもしれません。 About znzに主なアカウントをまとめました。

znz znz


Published