У меня проблема с фоновыми изображениями, которые не отображаются в производственном режиме в приложении Rails 3.1 (3.1.0.rc8). Я также использую звездочки 2.0.0 и пассажирские 3.0.8.
Моя таблица стилей - .scss и использует image_tag ('...') в разделе фона. При развертывании я прекомпилирую ресурсы.
Мой рабочий сервер использует Apache2 с Passenger, а приложение развернуто в подчиненном URI. Виртуальный хост определяется как:
ServerName wibble
DocumentRoot /srv/www
...
RailsBaseURI /myapp
<Directory /srv/www/myapp>
Options -MultiViews
</Directory>
Приложение фактически развернуто в / srv / Applications / myapp, и я создал символическую ссылку с / srv / www / myapp на /srv/applications/myapp/current/public.
Таблица стилей обслуживается правильно, но когда я проверяю элемент на наличие логотипа, он выглядит так:
url("http://wibble/assets/logo-xxx.png")
целое из:
url("http://wibble/myapp/assets/logo-xxx.png")
На самом деле, если я изменю URL-адрес, как описано выше, используя объявление редактирования в Opera, логотип будет отображаться правильно. Это говорит мне о том, что я правильно ссылаюсь на изображение, и оно правильно прекомпилируется. С таблицей стилей все в порядке, поэтому я также правильно подбираю ресурсы. Просто кажется, что RailsBaseURI пропускает путь URL.
Я попробовал все виды в таблице стилей - используя .erb, asset_path, /myapp/logo.png, myapp / logo.png - и ничего не работает. Все отлично работает в режиме разработки с тонким сервером.
Любая помощь будет принята с благодарностью.