【发布时间】:2018-02-09 17:33:05
【问题描述】:
我得到了一个使用 webpack 插件制作的 ServiceWorker,该插件通过http://example.com/packs/sw.js URL 公开可用。因为我希望这个 Service Worker 控制整个网站,所以我需要从 http://example.com/ 为其提供服务。所以,不允许redirect_to
我如何为此设置routes.rb?
我试过的是:
已添加:get '/sw' => 'sw#show' 至 routes.rb
创建控制器sw_controller.rb:
require 'net/http'
class SwController < ActionController::Base
def show
respond_to do |format|
format.all {
uri = URI('http://example.com/packs/sw.js')
res = Net::HTTP.get(uri)
render inline: res
}
end
end
end
我知道这很丑,但应该可以:
- 访问
http://example.com/sw.js得到No route matches [GET] "/sw.js" - 访问
http://example.com/packs/sw.js正确打印出 service worker - 访问
http://example.com/sw正确打印出 service worker - 同时访问
http://example.com/sw.lol打印服务人员
【问题讨论】:
标签: ruby-on-rails routes service-worker