Добавление автономной поддержки HTML5 в приложение Rails 3.1 - PullRequest
4 голосов
/ 11 августа 2011

Я хочу добавить автономную поддержку HTML5 для моего приложения на Rails 3.1, и я наткнулся на rack-offline , драгоценный камень, подходящий для этой цели.Однако в автономном режиме стойки только файлы из папки public добавляются в файл манифеста кэша приложения.Как мне добавить все скомпилированные ресурсы из моей папки assets (те, которые генерирует конвейер ресурсов)?


В частности, в моем файле routes.rb есть следующее:1009 *

offline = Rack::Offline.configure do
  cache "images/masthead.png"

  public_path = Rails.public_path
  Dir[public_path.join("javascripts/*.js")].each do |file|
    cache file.relative_path_from(public_path)
  end

  network "/"
end

Так же, как у меня есть Rails.public_path, могу ли я получить путь к скомпилированным ресурсам?Таким образом, я могу использовать приведенный выше код для добавления файлов по этому пути в манифест кэша.

Ответы [ 2 ]

3 голосов
/ 11 августа 2011

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

Rack::Offline.configure do
  cache "images/masthead.png"

  public_path = Rails.public_path
  Dir[public_path.join("javascripts/*.js")].each do |file|
    cache file.relative_path_from(public_path)
  end

  network "/"
end

Чтобы ответить на ваш вопрос об обслуживании скомпилированных ресурсов, они доступны из браузера, поэтому все, что вам нужно сделать, - это вручную предоставить оператор кэширования, и все должно работать. Попробуйте использовать такую ​​конфигурацию:

Rack::Offline.configure do
  cache "assets/application.js"
  cache "assets/application.css"   
  network "/"
end
2 голосов
/ 05 декабря 2011

У меня была похожая проблема, и я написал гем для решения проблемы с отпечатками пальцев MD5.

https://rubygems.org/gems/assets_offline

...