2013-09-18 5 views
1

я работаю с файлом шрифта, из которых выглядит следующим образом:активов путь Rails 4 - не будет компилировать/активы

@font-face { 
    font-family: 'FontAwesome'; 
    src: url(asset-path('fontawesome-webfont.eot', font)); 
    src: url(asset-path('fontawesome-webfont.eot', font)) format('embedded-opentype'), 
    url(asset-path('fontawesome-webfont.woff', font)) format('woff'), 
    url(asset-path('fontawesome-webfont.ttf', font)) format('truetype'), 
    url(asset-path('fontawesome-webfont.svg', font)) format('svg'); 
// src: url('#{$FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts 
    font-weight: normal; 
    font-style: normal; 
} 

я был под впечатлением, что этот синтаксис: url(asset-url('...'), font)); из файла SCSS должен отображать /assets/font.oet, например, в файле CSS, который сжимается.

Это не то, что происходит. Он не меняется вообще. Я все еще вижу url(asset-url('...'), font)); в файле CSS.

Мои настройки:

У меня есть все мои SCSS файлы размещены под приложения/активов/таблиц стилей. Я вытаскиваю все файлы SCSS в Application.css.scss через теги @import. (Может быть, это причина, по которой путь к ресурсу не будет анализироваться?).

* мне нужно что-то, что будет оказывать на трубопроводный актив MD5 отпечаток палец, когда я бег RAILS_ENV=production bundle exec rake assets:precompile, так что если актив-URL не будет отображаться отпечатками пальцев, пожалуйста, вы можете указать мне помощник, который будет *

Ценит помощь.

+0

Попробуйте Мануалы удалить 'публичный каталог/assets', а затем' RAILS_ENV = производство расслоение Exec грабли активов: прекомпиляцию ' –

ответ

0

Как насчет использования пути шрифта вместо пути к ресурсу и удаления ", шрифт" в конце.

@font-face { 
    font-family: 'FontAwesome'; 
    src: url(font-path('fontawesome-webfont.eot'); 
    src: url(font-path('fontawesome-webfont.eot')) format('embedded-opentype'), 
    url(font-path('fontawesome-webfont.woff')) format('woff'), 
    url(font-path('fontawesome-webfont.ttf')) format('truetype'), 
    url(font-path('fontawesome-webfont.svg')) format('svg'); 
// src: url('#{$FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts 
    font-weight: normal; 
    font-style: normal; 
} 

Будет переведено, например.

src:url("/assets/fontawesome-webfont-0a491f75efc766a9fe9daaa5f407aec1.eot"); 
... 

Для получения дополнительной информации., Кто-то задал подобный вопрос here.

+0

К сожалению, это не сработает. SCSS не распознает помощников. Когда я беру файл css.scss и сжимаю его в .css-файл, я все еще вижу: 'url (font-path (" fontawesome-webfont.eot "))'. Это не так. –

0

Использование шрифта URL вместо шрифта путь, как это работает как шарм для меня:

@font-face { 
    font-family: 'FontAwesome'; 
    src: font-url('fontawesome-webfont.eot'); 
    src: font-url('fontawesome-webfont.eot') 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; 
} 
Смежные вопросы