Глифы шрифта не работают с бутстрапом 3 и рельсами 4

Я не могу заставить глификоны работать с бутстрапом 3 и рельсами. Я перерыл интернет и ничего не нашел, помогает. В моем файле bootstrap.css у меня есть:

@font-face {
  font-family: 'Glyphicons Halflings';

  src: url('/assets/glyphicons-halflings-regular.eot');
  src: url('/assets/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}

В application.rb у меня есть:

config.assets.enabled = true  
config.assets.paths << "#{Rails.root}/app/assets/fonts" 
config.assets.precompile += %w( .svg .eot .woff .ttf )

Я уже пробовал запускать:

активы рейка: предварительная компиляция RAILS_ENV = разработка

В application.js у меня есть:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require bootstrap

В application.css у меня есть:

 *= require_self
 *= require_tree .
 *= require bootstrap
 */

Все мои шрифты хранятся в активах/шрифтах

Я уже посмотрел на следующее, и ни один из них не работал:

Bootstrap 3+Rails 4 - некоторые глификоны не работают

Как добавить собственный шрифт в приложение Rails?

Как я могу это исправить?


comment
Первое, что я бы попробовал после беглого просмотра, это поместить require tree . после того, как требуется начальная загрузка в app.js и app.css.   -  person Joe Essey    schedule 27.12.2014
comment
Спасибо, я пробовал, но не работает. Я не думаю, что это проблема, потому что страница включает все файлы, и они, кажется, расположены в правильном порядке.   -  person Philip7899    schedule 27.12.2014


Ответы (3)


Если вы используете гем bootstrap-sass, следуйте моей настройке ниже. Если не попробовать, это самая простая настройка начальной загрузки, которую я использовал.

Кстати, сейчас я использую версии rails 4.1.6 и 4.1.8.

Два драгоценных камня

gem 'bootstrap-sass'
gem 'autoprefixer-rails'

Ваш Application.js должен выглядеть так, как показано ниже (турболинки необязательны)

  /app/assets/javascripts/application.js

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require_tree .

Таблица стилей должна иметь эти два импорта

/app/assets/stylesheets/application.scss

@import "bootstrap-sprockets"
@import "bootstrap"

если эта настройка не работает, попробуйте путь к шрифту http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

раздел 2.3.2 css и sass

поэтому ваш код будет идти от:

url('/assets/glyphicons-halflings-regular.eot');

to font-path('glyphicons-halflings-regular.eot');

person Paul Brunache    schedule 26.12.2014

Обновление драгоценных камней начальной загрузки, если вы их используете, исправило это для меня:

gem 'sass-rails', '~> 5.0.1' gem 'bootstrap-sass', '~> 3.3.5.1'

person riley    schedule 12.09.2015

Я опубликую свое исправление.

Поскольку ранее я предварительно компилировал свои активы локально, а затем добавлял глификоны, heroku не собирал эти активы. Поэтому мне пришлось снова перекомпилировать их локально, выполнив:

RAILS_ENV=production bundle exec rake assets:precompile

git add public/assets

git commit -m "vendor compiled assets"

И толкая к героку

git push heroku master

из героку: https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction

person Colper    schedule 18.01.2016