2014-01-28 4 views
0

Я знаю, что рельсы сами очищают кеш-конвейер ресурсов, когда файлы изменяются, но у меня есть особый сценарий. Я подаю свое приложение как ответ HTML на запрос ajax, перекрестный домен, используя rack-cors, чтобы обойти CORS.Rails: вручную очистить кеш конвейера ресурсов

Проблема заключается в том, что каждый раз, когда запрос Ajax проходит в браузере человека, я получаю новый application.js файл:

это три отдельных requests..three application.js файлов error

Если я могу очистить кэш конвейера ресурсов до начала запроса, я думаю, что мог бы избежать этой проблемы. В любом случае, я могу программно сделать это? Я не уверен, что это будет сделано на стороне рельсов или на стороне удаленного клиента. Я предполагаю, что некоторые jquery на стороне клиента очищают кеш, но действительно ищут дополнительную перспективу по этой проблеме. Я пробовал

$(#myresultsdiv).empty() 

не повезло. Любая помощь очень ценится!

ответ

0

мне не удалось очистить кэш трубопроводных активов, но я отключил использование одноразового номера с использованием Ajax предфильтра:

$.ajaxPrefilter('script', function(options) { 
options.cache = true; 
}); 
1

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

В вашей среде конфигурации:

# Enable asset pipeline 
    config.assets.digest = false 

    config.assets.enabled = false 
+0

config.assets.digest = false, ничего не сделает. Я сделал config.assets.enabled = false вместо этого, и хотя это исправляет проблему, из-за того, что я полагаюсь на конвейер активов, возникает еще много проблем. есть ли способ сделать это, не отключая конвейер активов? – jamesdlivesinatree

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