Rails 3.1 - совместное использование предварительно скомпилированных ресурсов между серверами - PullRequest
2 голосов
/ 30 сентября 2011

Приложение 1 находится на сервере А. Приложение 2 находится на сервере B.

Приложение 2 имеет предварительно скомпилированные ресурсы, и все отлично работает.

Теперь приложение 1 хочет использовать тот же файл CSS, что и приложение 2, которое находится на сервере B.

Есть ли способ заставить эту работу?

Я попытался установить:

config.action_controller.asset_host = "http://assets.example.com" 

в приложении 1, но это, похоже, не помогло.

Когда я просматриваю изображение в приложении 2, путь показывает URL с отпечатком кэша, как assets / logo-i3q73498g0.png где-как в приложении 1, где изображение не отображается, путь просто logo.png

Спасибо!

1 Ответ

3 голосов
/ 30 сентября 2011

Ответ на этот вопрос, вероятно, заключается в совместном использовании файла манифеста активов между приложениями. Этот файл содержит сопоставления необработанных имен файлов с именами отпечатков пальцев.

Это по умолчанию в public / assets / manifest.yml. Я предлагаю, чтобы при развертывании приложения 2 вы добавляли задачу для извлечения манифеста активов из приложения 1 и предполагали, что в приложении 2 нет скомпилированных активов (поскольку вы изменили хост), просто используйте это для приложения. Вам нужно настроить конфигурацию так, чтобы приложение 2 считало, что оно скомпилировало ресурсы.

...