Я пытаюсь настроить автономную стойку в Sinatra, но у меня возникают проблемы с настройкой. В рельсах это довольно просто, но не нашел примеров в Синатре...
1 ответ
По сути, в вашем config.ru
сопоставьте /application.manifest
с Rack::Offline
. (Если вы не знакомы с использованием config.ru
в приложении Sinatra, ознакомьтесь с эта часть документации Sinatra.) Вот пример, который кэширует все файлы в каталоге public
:
require 'your-app'
require 'rack/offline'
map "/application.manifest" do
offline = Rack::Offline.new :cache => true, :root => "public" do
# Cache all files under the directory public
Dir[File.join(settings.public, "**/*")].each do |file|
cache file.sub(File.join(settings.public, ""), "")
end
# All other files should be downloaded
network '/'
end
run offline
end
map "/" do
run Sinatra::Application
end
Не забудьте установить manifest="/application.manifest"
в свой тег html
, и все будет готово. Вы должны взглянуть на README для rack-offline для получения дополнительной документации и объяснения того, как это работает. .
Похожие вопросы
Новые вопросы
ruby
Ruby - это многоплатформенный динамический объектно-ориентированный интерпретируемый язык с открытым исходным кодом. Тег [ruby] предназначен для вопросов, связанных с языком Ruby, включая его синтаксис и его библиотеки. Вопросы Ruby on Rails должны быть помечены [ruby-on-rails].