2015-03-17 3 views
1

Для каждой версии моего приложения я загружаю свои ресурсы в облачный CDN, а изображения на веб-сайте загружаются как-то вроде imagename-somehash.Обслуживание изображений в рельсах

У меня есть статические изображения, большие, например, изображения карусели, которые не меняются часто или вообще. Поэтому, даже когда приложение изменяется, они могут оставаться кэшированными клиентами, которые ранее посещали веб-сайт.

Как это сделать? Любые изображения, которые у меня есть под папкой app/assets, загружаются в CDN с форматом imagename-somehash, поэтому изображение меняется с каждой версией приложения.

Я использую рельсы 4.2. Это возможно?

ответ

0

Вы можете поместить эти изображения в общей папке и можно отметить полный URL во взглядах на эти образа

ИЛИ Вы также можете поставить его на

vendor/assets/images 

, но в этом случае вам придется инвалиды прекомпиляции path

Если вы хотите обслуживать только некоторые активы из вашего CDN, вы можете использовать опцию: host для вашего вспомогательного помощника, которая перезаписывает значение, установленное в config.action_controller.asset_host.

<%= asset_path 'image.png', host: 'mycdnsubdomain.fictional-cdn.com' %> 
+0

так что если я поместил их в это место, их местоположение на CDN не будет 'image.png-2181281imaginary-hash' правильным? а скорее «image.png»? –

1

В рельсам направляющие есть статья What is Fingerprinting and Why Should I Care?, которая дает некоторое представление о том, что хэш на конец файла и как это работает. Проверьте файлы окружения. В производстве вам может понадобиться config.assets.digest.

Смежные вопросы