bootstrap-sass в Rails 4 не показывает правильные глификоны

Я установил bootstrap-sass Gem и попытался использовать некоторые глификоны, но они просто не отображаются в правильный путь. Похоже, что браузер использует замены для настоящих глификонов, но не выдает никаких сообщений об ошибках.

Для большинства глификонов я получаю только это: , а для карандаша, например, я получаю это . Похоже, что браузер не может их найти, но, насколько я могу судить, мои таблицы стилей загружаются правильно. Так может быть проблема в драгоценном камне, который я должен исправить?

Мой код выглядит так:

application.css.scss

/*
 *= require jquery-ui
 *= require_tree .
 *= require_self
 */

@import "bootstrap-sprockets";
@import 'bootstrap';

application.js

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require bootstrap-sprockets
//= require moment
//= require jquery_nested_form
//= require turbolinks
//= require ckeditor/init
//= require_tree .

index.html.erb

<%= link_to booking_path(booking), :class => 'btn btn-xs', :title => "#{ t('.show', :default => t('helpers.links.show')) }" do %>
    <%= glyph 'info-sign' %>
<%- end -%>

Если вам нужна дополнительная информация, дайте мне знать, пожалуйста.

Редактировать1:

Мой код создает следующий html:

<a class="btn btn-xs" title="Show" href="/houses/1">
  <span class="glyphicon glyphicon-info-sign"></span>
</a>

person Syk    schedule 09.10.2015    source источник
comment
Что такое html, который отображается: ‹%= glyph 'info-sign' %›?   -  person bo-oz    schedule 09.10.2015
comment
Отредактировал основной пост с html.   -  person Syk    schedule 09.10.2015


Ответы (2)


После указания версии Gem для rails-sass.gem и bootstrap-sass.gem все наконец заработало.

gem 'bootstrap-sass', '~> 3.3.5.1'
gem 'sass-rails', '~> 5.0.1'
person Syk    schedule 19.10.2015

Следуя документации bootstrap-sass, вы должны remove *= require_self и *= require_tree в себе application.css.scss.

Затем удалите все *= require_self и *= require_tree . операторы из файла sass. Вместо этого используйте @import для импорта файлов Sass.

Не используйте *= require в Sass, иначе ваши другие таблицы стилей не смогут получить доступ к миксинам или переменным Bootstrap.

Таким образом, вы можете использовать @import

application.css.scss

/*
 *= require jquery-ui
 */

@import "bootstrap-sprockets";
@import 'bootstrap';
person akbarbin    schedule 09.10.2015
comment
Спасибо за попытку. Хотя никаких изменений не принес. - person Syk; 09.10.2015
comment
У вас есть шрифты глипикон? сделайте так: stackoverflow.com /вопросы/20255711/. Я надеюсь, что это поможет вам - person akbarbin; 09.10.2015
comment
Я уже видел эту тему и пробовал, но я не совсем уверен, как это должно быть сделано. Все мои таблицы стилей загружаются через конвейер ресурсов. Поэтому я искал в каталоге драгоценных камней конкретный раздел, но не могу найти 100% подходящий код. Все, что я могу найти, это _bootstrap.scss, который загружает _glyphicons.scss. В этом файле путь к шрифту описывается как $icon_font_path, и это должно быть в порядке, если я правильно понимаю документацию по гему: $icon-font-path defaults to bootstrap/ if asset path helpers are used, and ../fonts/bootstrap/ otherwise. - person Syk; 09.10.2015
comment
Может быть, что-то с моей кодировкой не так? Например, я не могу использовать такие символы, как ×! - person Syk; 12.10.2015