Добавление нового пути к активу в 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);
}