Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 没有与service-worker.js匹配的路由_Ruby On Rails_Ruby_Routing_Routes - Fatal编程技术网

Ruby on rails 没有与service-worker.js匹配的路由

Ruby on rails 没有与service-worker.js匹配的路由,ruby-on-rails,ruby,routing,routes,Ruby On Rails,Ruby,Routing,Routes,我生成了rails应用程序,并从盒子里得到了这个消息。我不知道service-worker.js是什么,但我假设它可以与一些默认的gem捆绑在一起 Started GET "/service-worker.js" for 127.0.0.1 at 2015-07-21 19:48:33 +0200 ActionController::RoutingError (No route matches [GET] "/service-worker.js"): actionpack (4.2.3)

我生成了rails应用程序,并从盒子里得到了这个消息。我不知道service-worker.js是什么,但我假设它可以与一些默认的gem捆绑在一起

Started GET "/service-worker.js" for 127.0.0.1 at 2015-07-21 19:48:33 +0200

ActionController::RoutingError (No route matches [GET] "/service-worker.js"):
  actionpack (4.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  web-console (2.2.1) lib/web_console/middleware.rb:39:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.3) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.3) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/static.rb:116:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.3) lib/rails/engine.rb:518:in `call'
  railties (4.2.3) lib/rails/application.rb:165:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  rack (1.6.4) lib/rack/content_length.rb:15:in `call'
  rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service'
  /home/emkacf/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'
  /home/emkacf/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'
  /home/emkacf/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'

我假设它来自另一个使用webworkers的应用程序。如果您使用的是Firefox,请进入“功能表>web开发者>服务工作者”,然后从中注销webworker(这是一种方法)。如果需要,另一个应用程序将再次注册它。

这来自客户端,因此它来自已在浏览器中注册的服务人员

打开DevTools并运行navigator.serviceWorker.getRegistration()。然后在控制台中(r=>r.unregister())将其禁用。

我通过修复了相同的问题

1) 将
gem'serviceworker rails'
添加到Gemfile

2) 在控制台中运行
捆绑安装

3) 在控制台中运行rails g serviceworker:安装

4) 将
match'/offline.html'
string添加到config/initializers/serviceworker.rb

5) 创建文件(即使是空的也足够)public/offline.html


就这样。在这些步骤之后,错误信息消失了。

你是如何管理你的javascript资产的?嗯,我在standard/app/assets/中有资产,但这只是从ruby mine生成的一个新项目,这就是为什么我对这个js文件感到困惑的原因。这是瞎猜,但你忘记安装node.js了吗?我以前安装过node,因为我是以前在那台机器上使用ruby和rails,但我男朋友在周末对node和path做了一些事情(他正在做一些事情,需要最新版本,但有一些问题),所以也许这就是答案:DI试图重新安装node,但似乎没有帮助;s