Добавление нового пути к активу в Rails 3.1
кто-нибудь знает, как добавить другую папку в конвейер активов в Rails 3.1?
Я хотел бы служить app/assets/fonts
таким же образом app/assets/images
подается.
обновление: 5-7-2013
просто чтобы добавить некоторые разъяснения для будущих людей, которые найдут этот вопрос, чтобы явно добавить путь к активу в вашем приложении.файл rb:
config.assets.paths << "#{Rails.root}/app/assets/fonts"
однако, так как вышеуказанный путь находится под app/assets
вам не нужно добавлять его явно, вы просто нужно перезагрузить приложение rails, чтобы звездочки могли его забрать.
вам придется явно добавить пути, которые находятся вне app/assets
,lib/assets
или vendor/assets
, и просто помните, что в то время как звездочки подбирает новые файлы в папках, которые присутствовали при загрузке приложения, по моему опыту, он не подбирает новые папки в путях активов без перезагрузки.
6 ответов
Андрей, app/assets/fonts
фактически уже находится в вашем пути загрузки активов вместе с images
. Таким образом, вы можете просто указать на актив таким же образом: <%= asset_path('/Ubuntu/Ubuntu-R-webfont.eot') %>
[1] или как вы ссылаетесь на свои изображения.
мне потребовалось некоторое время, чтобы обернуть мою голову вокруг этого. Я до сих пор не знаю, что произойдет, если в app/assets/fonts
и app/assets/images
.
[1] предполагая, что у вас есть шрифт в app/assets/fonts/Ubuntu/Ubuntu-R-webfont.eot
создать app/assets/images
и app/assets/fonts
они будут автоматически добавлены в путь активами.
Откройте консоль rails после их создания и проверьте с помощью:
y Rails.application.config.assets.paths
(y
ярлык для yaml
способ)
он работает без добавления пути, но будьте осторожны, что вы используете допустимое имя файла для актива.
url("#{asset_path 'fontawesome-webfont.eot'}?#iefix") format('embedded-opentype'),
...
url("#{asset_path 'fontawesome-webfont.svg'}#FontAwesome") format('svg');
например, в этом случае оставьте ?#iefix
вне имени файла шрифта
Я могу подтвердить, что он работает без добавления новых путей к конфигурации в Rails 3.1.0.rc4 (и предположительно выше). Я отскочил от сервера, вы можете сделать то же самое.
создать assets/fonts
папка и добавьте на нее шрифт и используйте тему в своем css-файле следующим образом
@font-face {
font-family: Sawasdee;
src: url(Sawasdee.ttf);
}