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

у меня есть

users.scss
@font-face {
  font-family: scriptina;
  src: asset-url('scriptina.ttf')
}

.script {
  font: scriptina, cursive; 
}

Что порождает

@font-face {
  font-family: scriptina;
  src: url(/scriptina.ttf);
}
/* line 18, C:/Users/Chloe/workspace//app/assets/stylesheets/users.scss */
.script {
  font: scriptina, cursive;
}

Но http://localhost:3000/scriptina.ttf генерирует

Ошибка маршрутизации
Маршрут не соответствует [GET] /scriptina.ttf

$ ls app/assets
config  images  javascripts  scriptina.ttf  stylesheets

Рельсы 5

Ссылка: http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets


person Chloe    schedule 12.06.2017    source источник
comment
Я уже ответил здесь и здесь Это поможет вам   -  person praaveen V R    schedule 12.06.2017


Ответы (1)


Один из способов (описанный здесь) - это добавить папку fonts в app/assets, а затем добавить ее в папки, в которых ваше приложение будет искать ресурсы, отредактировав config/application.rb:

# config/application.rb
config.assets.paths << Rails.root.join("app", "assets", "fonts")

Затем переместите scriptina.ttf в app/assets/fonts, и тогда ваш asset-url помощник будет ссылаться на действительный путь к вашему шрифту.

person Scott    schedule 12.06.2017
comment
Хм, я всегда думал, что он обыскивает все assets/, чтобы найти что-нибудь. Вместо этого я изменил config/initializers/assets.rb из-за этого комментария: # Application configuration should go into files in config/initializers. Я добавил Rails.application.config.assets.paths << Rails.root.join("app", "assets", "fonts"). Также пришлось поменять font: на font-family: scriptina, cursive;. - person Chloe; 12.06.2017