С использованием конвейера активов и публичных / изображений с 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" %>
, С уважением трейлинг \
,