Ruby not load font-awesome

I am trying to load font-awesome into my view

I read other answers and implemented Rails: Using the awesome font

What I've done

configurations / application.rb

require File.expand_path('../boot', __FILE__)

require 'rails/all'


    # Require the gems listed in Gemfile, including any gems
    # you've limited to :test, :development, or :production.
    Bundler.require(:default, Rails.env)

    module Blog
      class Application < Rails::Application
        # Settings in config/environments/* take precedence over those specified here.
        # Application configuration should go into files in config/initializers
        # -- all .rb files in that directory are automatically loaded.

        # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
        # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
        # config.time_zone = 'Central Time (US & Canada)'

        # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
        # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
        # config.i18n.default_locale = :de

        config.assets.paths << Rails.root.join("app", "assets", "fonts")
      end
    end

I renamed font-awesome.min.css to font-awesome.min.css.erb and used assets_path

@font-face{font-family:'FontAwesome';
 src:url('<%= asset_path("fontawesome-webfont.eot?v=4.0.3") %>');
 src:url('<%= asset_path("awesome-webfont.eot?#iefix&v=4.0.3") %>') format('embedded-opentype'),
 url('<%= asset_path("fontawesome-webfont.woff?v=4.0.3") %>') format('woff'),
 url('<%= asset_path("fontawesome-webfont.ttf?v=4.0.3") %>') format('truetype'),
 url('<%= asset_path("fontawesome-webfont.svg?v=4.0.3#fontawesomeregula") %>') format('svg');
 font-weight:normal;font-style:normal}

and upload the css file to the view

<%= stylesheet_link_tag 'bootstrap.css' %>
  <%= stylesheet_link_tag 'animate.css' %>
  <%= stylesheet_link_tag 'font-awesome.min.css' %>
  <%= stylesheet_link_tag 'font.css' %>
  <%= stylesheet_link_tag 'app.css' %>

and in Chrome, font files are not loaded

and on the server I get

Started GET "/fontawesome-webfont.ttf?v=4.0.3" for 127.0.0.1 at 2014-02-14 08:36:37 +0200

ActionController::RoutingError (No route matches [GET] "/fontawesome-webfont.ttf"):
  actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged'
  activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged'
  activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged'
  railties (4.0.2) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call'
  rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
  railties (4.0.2) lib/rails/engine.rb:511:in `call'
  railties (4.0.2) lib/rails/application.rb:97:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
  /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
  /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'

Please, help

+1
source share
1 answer

The easiest way to integrate font-awesome into rails is through the font-awesome-rails gem. It will integrate font-awesome into the rail conveyor.

In your gemfile add

gem "font-awesome-rails" 

bundle install ,

scss

@import "font-awesome";

!

<i class="fa fa-bell-o"></i>

css scss, require application.css

*= require font-awesome  

Update

-awesome-rails gem,

  • app/assets/fonts

  • config/application.rb

    # Add fonts path
    config.assets.paths << "#{Rails.root}/app/assets/fonts"
    
    # Precompile additional assets
    config.assets.precompile += %w( .svg .eot .woff .ttf ) 
    
  • font-awesome.css.erb

    @font-face {
       font-family:'FontAwesome';
       src:    font-url('fontawesome-webfont.eot');
       src:    font-url('fontawesome-webfont?#iefix') format('embedded-opentype'),
       font-url('fontawesome-webfont.woff') format('woff'),
       font-url('fontawesome-webfont.ttf') format('truetype'),
       font-url('fontawesome-webfont.svg') format('svg');
       font-weight:normal;
       font-style:normal;
    }
    

, .

+4

Source: https://habr.com/ru/post/1524767/


All Articles