Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using @font-face with Ruby on Rails?

I am trying to include my custom font in Rails.

My file fonts are in app/assets/fonts/.

I edited CSS:

# in app/assets/stylesheets/application.css

@font-face {
  font-family: 'fontello';
  src: url('fonts/fontello.eot');
  src: url('fonts/fontello.eot#iefix')format('embedded-opentype'),
       url('fonts/fontello.woff') format('woff'),
       url('fonts/fontello.ttf') format('truetype');
}

I tried to change the path url('assets/fonts/fontello.eot'); url('fontello.eot'); too.

I edited the config:

# in config/application.rb

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

Bundler.require(:default, Rails.env)

module Gui
  class Application < Rails::Application
    config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
  end
end

But it doesn't work.

I use Rails 4.0.2.

like image 854
josper04 Avatar asked Dec 12 '22 08:12

josper04


1 Answers

You need to use asset_path for use an asset in a css file ( add erb extension to your application.css file then asset_path are available in your CSS rules)

@font-face {
  font-family: 'fontello';
  src: url('<%= asset_path("fontello.eot") %>');
  src: url('<%= asset_path("fontello.eot#iefix") %>') format('embedded-opentype'),
       url('<%= asset_path("fontello.woff") %>') format('woff'),
       url('<%= asset_path("fontello.ttf") %>') format('truetype');
}
like image 126
Yann VERY Avatar answered Jan 07 '23 16:01

Yann VERY