2013-04-19 2 views
1

я создал один файл для шрифтов в папке Стилей в рельсах приложениюstyle.css.erb прекомпиляция активы дают неопределенный метод `[]» для ноля: NilClass ошибки

@font-face { 
font-family: 'MuseoSans500'; 
src: url("<%= asset_path('museosans_500-webfont.eot?')%>") format('embedded-opentype'); 
font-weight: normal; 
font-style: normal; 
} 

@font-face { 
font-family: 'MuseoSans500'; 
src: url("<%= asset_path('museosans_500-webfont.woff')%>") format('woff'), 
    url("<%= asset_path('museosans_500-webfont.ttf')%>") format('truetype'), 
    url("<%= asset_path('museosans_500-webfont.svg#MuseoSans500')%>") format('svg'); 
font-weight: normal; 
font-style: normal; 
} 

Теперь, когда я прекомпилировать активы .. Это дает мне ошибку на странице style.css.erb. Я следил за звездочками для пути, и я получил этот файл. Ошибка

paths subpath /home/new_app/app/assets/stylesheets/app-theme/themes/default/style.css.erb 
rake aborted! 
undefined method `[]' for nil:NilClass 

(в /home/hbror/applications/survey/app/assets/stylesheets/application.css)

ответ

1

Вы должны поместить шрифты в новом каталоге активов, например app/assets/fonts и включить его в каталогах активов путем размещения этого в вашем application.rb:

# Add the fonts path 
config.assets.paths << Rails.root.join('app', 'assets', 'fonts') 

# Precompile additional assets 
config.assets.precompile += %w(.svg .eot .woff .ttf) 

Затем он должен работать нормально.

+0

Я уже добавил эти пути в application.rb в соответствии с этим ответом http://stackoverflow.com/questions/10905905/using-fonts-with-rails-asset-pipeline –

+0

Тогда у вас возникла проблема в стилях .css.erb'. Попробуйте его префикс следующим образом: 'styles.css.scss.erb', чтобы добавить возможности sass. Можем ли мы увидеть, как выглядит ваш 'styles.css.erb'? –

+0

Я изменил его с styles.css сейчас. И добавил ссылки на «<% = asset_path» («museosans_500-webfont.ttf»)%> «' to '/ assets/museosans_500-webfont.ttf', после чего я компилирую и теперь он работает. –

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