2

При объявлении, какие файлы должны быть кэшированы в манифесте appcache, есть ли способ включить файлы, которые содержат динамические имена?Рельсы, активы, динамические имена appcache

Такие как активы, которые скомпилированы рельсами.

активы/прикладные 12315123213123151asd.js

В этом случае я хотел бы сделать что-то вроде этого,

MANIFEST 

CACHE 
/assets/*.js 

или

MANIFEST 

CACHE 
/assets/application-*.js 

ответ

2

Я сделал свою собственную задачу грабли вместо используя драгоценные камни, такие как rack-offline, которые, похоже, не обновляются в течение длительного времени.

#encoding: utf-8 
desc "Create html5 appcache manifest" 
task :html5_manifest => :environment do 
    File.open("public/offline.appcache", "w") do |f| 
     f.write("CACHE MANIFEST\n") 
     f.write("# #{Time.now.to_i}\n") 
     assets = Dir.glob(File.join(Rails.root, 'public/assets/**/*')) 
     assets.each do |file| 
      if File.extname(file) != '.gz' 
       f.write("assets/#{File.basename(file)}\n") 
      end 
     end 
     # f.write("NETWORK\n") 
     # f.write("*\n") 
     # f.write("FALLBACK:\n") 
     # f.write("...") 
    end 
end 

Поместите это в качестве задачи в файле колпачок при развертывании сервера

+0

Я думаю, это правильный ответ, но я не знаю, как использовать это при развертывании на герою, можете ли вы мне помочь? Благодаря! – ErwinGO

0

Я знаю, эта нить довольно старая, но почему бы не сделать маршрут к контроллеру Rails, который обслуживает файл и помещает его вместе динамически? Очень похоже на задачу рейка, но при ее развертывании ее не нужно создавать. Это решило бы проблему Heroku ...

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