Comments 22
Т.е. пока что бы добавлять картинки из ассетов в цсс, нужно вводить erb в дополнительный слой компиляции?
0
Нет. Должен помогать хэлпер image_url (вместо url) из движка sass_rails.
+2
Они
assets/images
добавили в пути? Мне в каком то из релиз-кандидатов приходилось config.assets.paths << "images"
в конфигах прописывать.0
Столкнулись с той же проблемой в своем проекте.
Путем проб и ошибок был найден работающий вариант для sass-файлов. Необходимо использовать хелпер
Ассеты для sass в таком случае нормально отрабатывают.
Так и не побежденной осталась корректная компиляция ассетов для изображений из coffee-файлов.
Но я решил, что опеределение представлений через js — это все-таки bad-style, и вынес все определения элементов с картинками в sass.
Путем проб и ошибок был найден работающий вариант для sass-файлов. Необходимо использовать хелпер
asset_path
. Например, так.background: url(asset_path('image.png', image)) 50% 30% no-repeat white
Ассеты для sass в таком случае нормально отрабатывают.
Так и не побежденной осталась корректная компиляция ассетов для изображений из coffee-файлов.
Но я решил, что опеределение представлений через js — это все-таки bad-style, и вынес все определения элементов с картинками в sass.
+1
Блин, у меня ощущение что в Rails 3.1 внезапно что-то слишком намутили.
Он какой-то не «тупо-простой» стал.
Он какой-то не «тупо-простой» стал.
+3
«It just works».
+1
Я один не вижу смысла использовать изображения в assets? Не легче их положить как раньше в public/images и все. Никаких танцев с бубном. Они же все равно не компилируются.
+2
Думаю смысл есть в том, что бы не мешать изображения закаченные пользователями, от изображений, яаляющимися частью сайта
0
Но опять же сделайте папочку public/images/upload и все, не нужны опять никакие танцы с бубном и переписывание всех css. Я сначала тоже сделал «по феншую», но потом решил вернуть все назад. Да яваскрипт и css имеет смысл запихивать в assets, но картинки пусть как обычно лежат в паблике.
+1
Ну смысл, полагаю, в том, что если у вас вдруг какое-то изображение изменится, то у него изменится и хеш в названии, так что браузер гарантированно его перезагрузит, а не возьмет из кеша.
0
Долго боролся вот с этим при переносе 3.1 в продакшн.
config.assets.compile = true
неожиданно помогло — может, кому пригодится.0
Да, документация это большая проблема в рельсах.
Я еще добавлю, что с assets можно делать так
чтобы собрать файл еще на стороне сервера
И писать, например
Я еще добавлю, что с assets можно делать так
//=require 'something.js'
чтобы собрать файл еще на стороне сервера
И писать, например
something.js.coffee
, а потом CoffeScript прозрачно скомпилируется в джаваскрипт.0
Sign up to leave a comment.
Рецепт использования Asset Pipeline