3.1 При развертывании до подаурина

Я в процессе обновления рейсов 3 приложение для использования рельсов 3.1 и как часть этого, использую новый Трубопровод активов. До сих пор у меня все работает от одной довольно раздражающей проблемы, которую я не могу решить.

Применение и все его активы работают нормально в разработке, но в производстве он развернут до подтиргического пассажира ( http: // host / sub-ub-uri / ). Проблема с этим состоит в том, что активы предварительно составлены во время развертывания и одного из моих CSS (ну это .css.scsss файлы) Файлы используют Image URL Хелпер из Sass-Rails GEM. Поскольку во время процесса предварительной компиляции пути к жесткокодируются в файл CSS CSS, подвиши не учитывается:

в My .css.s.csss файл:

body { background-image: image-url("bg.png"); }

Результат в составленном приложении Application- .css :

body { background-image: url(/assets/bg.png); }

Что должно делать его правильно:

body { background-image: url(/sub-uri/assets/bg.png); }

Это сценарий просто просит слишком много? Если это так, мне придется вернуться к старому неактивно-трубопроводу и просто служить моими изображениям и CSS из . Однако кажется, что что-то должно было подумать и решено ...? Я скучаю по решению?


Отредактируйте 1: Я должен отметить, что используя раствор ERB вместо этого дает тот же результат, так как можно ожидать.


Отредактируйте 2: В ответ на комментарий Benoit Garret

Нет, проблема не связана с помощью config.ssets.prefix . Я попробовал настроить это (в / суб-ряд / активов , а не по умолчанию / Assets ), но оказалось, что это неправильно сделать - кажется, этот параметр Уже по отношению к корню приложения Rails, а не сервера. Удаление этого (и, таким образом, возвращение по умолчанию) исправило все странные проблемы, вызванные (и было много, все активы, которые были в конечном итоге в / суб-УРИ / суб-УРИ / активы - это было все очень странный). Единственная проблема состоит в том, что Image-URL-адрес ), и друзья не поднимают подвиди, когда они предварительно составлены. Излишне говорить, что это логично, так как он предварительно составлен, он не мог знать, что когда он работает под пассажиром, он будет настроен таким образом. Мой вопрос заключается в том, как сообщить об этом и, таким образом, в конечном итоге с правильными путями в предложенном результате. Если действительно это можно сделать.

Мой текущий обходной путь состоит в том, чтобы ссылаться на IAMGE в таких CSS: URL (... ... I образы / bg.png) и поместите его вТрубопроводы Общественные / изображения Местоположение. Вряд ли идеально подходит, поскольку он не выиграет от отпечатков пальцев и всего, что обеспечивает трубопровод.

8
задан New Alexandria 11 September 2013 в 00:01
поделиться