1

Я пытаюсь использовать шрифты Awesome на моем Rails 4 приложении. Шрифты очень хорошо работают над разработкой, но по производству не работает.Rails 4 шрифты, не работающие над производством

Активы предварительно скомпилированы на сервере при развертывании с помощью capistrano.

Все файлы CSS, JS (в приложении/активах/* и поставщике/активах/*) работают ... только шрифты нет.

Если я запустить приложение на моей машине развития, как производство, он работает:

RAILS_ENV=production bin/rails s -b 0.0.0.0

Только когда я отправьте производство хозяину (VPS с пассажирским + Ngnix), что шрифты DonT работает

, что у меня есть:

# config/initializers/assets.rb 

# Add additional assets to the asset load path 
# Rails.application.config.assets.paths << Emoji.images_path 
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|woff2|ttf)\z/ 

И ...

# config/environments/production.rb 
# ... 
config.assets.compile = true 

Объявление наконец:

# app/assets/stylesheets.css.erb 

@font-face { 
    font-family: 'FontAwesome'; 
    src: url("<%= font_path('Font-Awesome/fontawesome-webfont.eot') %>?v=4.3.0"); 
    src: url("<%= font_path('Font-Awesome/fontawesome-webfont.eot') %>?#iefix&v=4.3.0") format('embedded-opentype'), 
    url("<%= font_path('Font-Awesome/fontawesome-webfont.woff2') %>?v=4.3.0") format('woff2'), 
    url("<%= font_path('Font-Awesome/fontawesome-webfont.woff') %>?v=4.3.0") format('woff'), 
    url("<%= font_path('Font-Awesome/fontawesome-webfont.ttf') %>?v=4.3.0") format('truetype'), 
    url("<%= font_path('Font-Awesome/fontawesome-webfont.svg') %>?v=4.3.0#fontawesomeregular") format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

шрифты расположены по адресу: vendor/assets/fonts/Font-Awesome/fontawesome-*

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

Если я перехожу на свой сервер с использованием SSH и запускаю ls my_app/public/assets, я могу предварительно скомпилировать все мои активы (css, javascripts и fons).

Что мне не хватает?

+0

попробуйте 'asset-path' вместо' font_path'. – rodic

+0

с использованием 'asset-path' вызывает ошибку:' undefined local variable или method 'asset' for' – psantos

+0

sry, typo, вы должны использовать подчеркивание. http://api.rubyonrails.org/classes/ActionView/Helpers/AssetUrlHelper.html#method-i-asset_path – rodic

ответ

0

Я пробовал много решений, но ничего не получалось ..

только один, который работает был переместить папку «шрифты» из vendor/assets в app/assets.

Это не имеет смысла для меня, как я знаю, сторонние активы должны перейти в папку vendor/assets.

Но третий файл CSS и Javascript расположен по адресу vendor/assets/* и работает отлично. Только файлы шрифтов, которые не будут работать.

Смежные вопросы