С использованием конвейера активов и публичных / изображений с jruby & warbler

Я делаю некоторую работу над приложением RoR, которое развертывается как файл войны с использованием warbler. До моего участия несколько изображений в приложении находились в конвейере ресурсов, но моя роль заключается в том, чтобы представлять скользкие карты и доморощенные фрагменты карт.

Поскольку плитки занимают много места, и поскольку они не будут меняться так же часто, как приложение, идея состояла в том, чтобы просто обслуживать их от public/images/tiles, Файл war для остальной части приложения будет развернут, а затем плитки будут уничтожены в соответствующем каталоге.

Это прекрасно работает в режиме разработки, но при развертывании "певчей птицы" используется контекстный путь, и плитки получают 404, потому что они находятся в / contextpath / images, а не / images

Раньше я не работал в обстановке jruby, и остальная часть команды просто оказалась на этой неделе в отпуске (ха!). Рекомендация Ника Сигера об использовании config.action_controller.asset_host at Warbler: Где мои изображения разрушают изображения и CSS, которые работают через ресурсы, поэтому я был бы благодарен за любые другие предложения, которые позволяют активам и общественности сосуществовать.

1 ответ

В production.rb попробуй эту строчку config.assets.precompile += %w( *.js *.scss *.coffee *.css ) затем беги jruby -S rake assets:precompile, Он скомпилирует все ваши активы в статические активы, а затем warbler упакует их соответствующим образом, это должно решить вашу проблему.

Еще одна вещь, которую вы можете проверить, это то, как вы указываете на изображения в представлениях. если вы хотите их найти в /image вы должны написать путь как <%= image_tag "\image" %>, С уважением трейлинг \,

Другие вопросы по тегам