10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Rails】gem "font-awesome-rails"が機能せず何も表示されない時の対処法

Last updated at Posted at 2019-11-07

💎 実現したい事

fontawesome.jpeg
この様に、2つのアイコンをGemfont-awesome-railsで右に配置したい。

⚠️ 表示されないパターン

  
1、今回苦戦した現象で、何も表示されません。

考えられる原因パターンは、
・アイコンの記述方法、指定方法が間違えている。
・font-awesomeのバージョン
 

2、こちらは、表示されたがアイコンが出ない。

・多くの場合は、cssにてfont-famiryを指定出来ていない。
・その他一部、cssにて指定する必要がある。(公式を参照)

問題が起きた環境

・Mac
・rails(5.0.7.2)
・haml(5.1.2)
・gem "font-awesome-rails"(4.7.0.5)

前提

・文法が間違っていないか確認しましょう、数パターン書ける方法があります。
・bundle installとサーバーの立ち上げ直しなども見直しましょう。

現象1

Gemfileにてfont-awesome-railsを記載し、

Gemfile
gem "font-awesome-rails"

bundle installをしてapplication.scssにてimportするも何も表示されない。

index.html.haml
%ul.side-header__box__menu
  %li.side-header__box__menu__new-group
    =link_to "#" do
      = fa_icon 'edit', class: "fa fa-edit"
  %li.side-header__box__menu__edit-user
    =link_to edit_user_path(current_user) do
      = fa_icon 'cog', class: "fa fa-cog"

Google Chromeの検証画面を見るとclassみたいに判定されていました。

反映されている場合は、::beforeと表示されます。
スクリーンショット 2019-11-07 2.54.13.png

::beforeが無い場合、記載ミスでclassとして判定されているように思えますが、
呼び出せていない可能性が高いです。

原因の究明として、まずheadにCDNを挿入してみましょう。
これはGemを使用せず、URLから呼び出す感じです。

application.html.haml
!!!
%html
  %head
    %meta{content: "text/html; charset=UTF-8", "http-equiv":"Content-Type"}/
    // 追加する
    %link{href: "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", rel: "stylesheet"}

これで表示されました。
表示されない場合は書き方が間違っている可能性があります。
fontawesome.jpeg

これで何も表示されない場合はbundle install後に、
サーバーを立て直してないなどを疑ってみてください。


・Gemで表示させる

原因は、Gemと判明しました。
バージョンにより読み込みが出来ていない可能性があります。
なのでfont_awesomeの別バージョンのGemを使用してみましょう。

前の font-awesome-rails は削除します。
ターミナルにて
1、bundle exec gem uninstall font-awesome-rails で、Enter
2、Gemfileから削除
3、bundle update で、Enter


font_awesome5_railsを導入

Gemfile
gem 'font_awesome5_rails'

bundle installを実行する。

次に、importを記載します。

application.scss
@import 'font_awesome5_webfont';
@import 'font_awesome5.css';

 
すると呼び出す事が成功しました。

現象2

四角の状態は、呼び出せているが表示が上手く出来ていません。

・font-familyの指定

SCSSまたは、CSSにてアイコンに対して下記を指定する必要があります。

font-family: "Font Awesome 5 Free";

 
これで表示されました。
fontawesome.jpeg


以上で、解決いたしましたが他にもありましたら、
コメントなどで、よろしくお願いいたします。
 

:octocat: GitHub
https://github.com/aocattleya
🐦 Twitter
https://twitter.com/aocattleya

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?