как изменить поведение стойки по умолчанию в автономном режиме - PullRequest
2 голосов
/ 05 февраля 2011

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

Ответы [ 2 ]

7 голосов
/ 11 февраля 2011

Вам необходимо добавить его в ваш файл rout.rb. Вот мой файл rout.rb с настроенным манифестом. Это даст вам индекс и новые маршруты, а также все html-файлы в вашем публичном корне (* .html) и каждый файл в подпапке public (* / *. *). Вы можете нарезать и нарезать кубиками то, что вам нужно для вещей в общей папке.

Я не знаю, как получить конкретные маршруты для базы данных, такие как показ и редактирование в автономном режиме. Я полагаю, Javascript необходим. Проверьте Railscast эпизод 248 для некоторых идей для интеграции JS

OfflineConfirm::Application.routes.draw do
  #match '/application.manifest' => Rails::Offline
  resources :contacts

  offline = Rack::Offline.configure do
    cache ["contacts/new", "contacts"]
    public_path = Rails.root.join("public")
    Dir[public_path.join("*.html"),
        public_path.join("*/*.*")].each do |file|
      p = Pathname.new(file)
      cache p.relative_path_from(public_path)
    end

    network "/"
  end

  match '/application.manifest' => offline
end

Файл маршрутов, приведенный выше, создаст следующее приложение.manifest

CACHE MANIFEST
# 700ae3e3002382cb98b93c299d7b7bda151183b4703ef65d4c46b0ecf9c46093
contacts/new
contacts
404.html
422.html
500.html
index.html
images/rails.png
javascripts/application.js
javascripts/jquery.js
javascripts/jquery.min.js
javascripts/rails.js
stylesheets/scaffold.css

NETWORK:
/
0 голосов
/ 05 февраля 2011

Ни один из файлов в папке представлений недоступен без сервера. Вы хотите сделать маршрут доступным в манифесте кэша? Например, "/ about", что соответствует файлу "views / about.haml", например?

Добавьте это к вашей конфигурации:

offline = Rack::Offline.configure do
  cache "about" # or whatever your route is
  public_path = Rails.public_path
  Dir[public_path.join("javascripts/*.js")].each do |file|
    cache file.relative_path_from(public_path)
  end
end
...