微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 来自Rails app的Enigmatic GET请求

当我为Rails应用程序运行服务器时,我看到了一件奇怪的事情.这是日志:

Jatins-MacBook-Pro: silverSpoon$rails s
=> Booting Thin
=> Rails 3.2.8 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000,CTRL+C to stop


Started GET "/app/update-progress" for 127.0.0.1 at 2013-05-19 15:04:56 +0530
Connecting to database specified by database.yml

ActionController::RoutingError (No route matches [GET] "/app/update-progress"):
  actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.8) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.8) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.1) lib/rack/runtime.rb:17:in `call'
  activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.4.1) lib/rack/lock.rb:15:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in `call'
  railties (3.2.8) lib/rails/engine.rb:479:in `call'
  railties (3.2.8) lib/rails/application.rb:223:in `call'
  rack (1.4.1) lib/rack/content_length.rb:14:in `call'
  railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in `call'
  thin (1.5.0) lib/thin/connection.rb:81:in `block in pre_process'
  thin (1.5.0) lib/thin/connection.rb:79:in `catch'
  thin (1.5.0) lib/thin/connection.rb:79:in `pre_process'
  thin (1.5.0) lib/thin/connection.rb:54:in `process'
  thin (1.5.0) lib/thin/connection.rb:39:in `receive_data'
  eventmachine (1.0.1) lib/eventmachine.rb:187:in `run_machine'
  eventmachine (1.0.1) lib/eventmachine.rb:187:in `run'
  thin (1.5.0) lib/thin/backends/base.rb:63:in `start'
  thin (1.5.0) lib/thin/server.rb:159:in `start'
  rack (1.4.1) lib/rack/handler/thin.rb:13:in `run'
  rack (1.4.1) lib/rack/server.rb:265:in `start'
  railties (3.2.8) lib/rails/commands/server.rb:70:in `start'
  railties (3.2.8) lib/rails/commands.rb:55:in `block in <top (required)>'
  railties (3.2.8) lib/rails/commands.rb:50:in `tap'
  railties (3.2.8) lib/rails/commands.rb:50:in `<top (required)>'
  script/rails:6:in `require'
  script/rails:6:in `<main>'

Rendered /Users/silverSpoon/.rvm/gems/ruby-1.9.3-p194@fbTracker/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (2.3ms)

然后,请求反复进行.请指导我找到此类行为的原因以及如何解决此问题.

rake:routes的输出是:

bash-3.2$rake routes
    trackers        /trackers(.:format)                tracker#index
        root        /                                  home#index
       users POST   /users(.:format)                   users#create
   edit_user GET    /users/:id/edit(.:format)          users#edit
        user GET    /users/:id(.:format)               users#show
             PUT    /users/:id(.:format)               users#update
             DELETE /users/:id(.:format)               users#destroy
                    /auth/:provider/callback(.:format) sessions#create
auth_failure        /auth/failure(.:format)            :controller#:action
     signout        /signout(.:format)                 sessions#destroy
                    /online/:id(.:format)              users#function

如果您需要更多信息,请与我们联系.

解决方法

您的应用没有到/ app / update_progress的路线.所以它是下面的一个在你的应用程序中调用它:

>你的应用程序中的Javascript代码(你有机会使用this Bootstrap Progressbar吗?)

要测试这是否是问题的根源 – 打开Chrome开发者工具并转到Network panel.现在打开您的应用程序localhost:3000.如果您在此网络选项卡中看到对localhost:3000 / app / update_progress的一致调用,则表示您的应用程序正在从Javascript触发这些请求.现在,您需要搜索代码库以找出javascript代码的位置.它可能在你已下载的某个jquery扩展中.你可以create a breakpoint in Javascript whenever an Ajax request is made到/ app / update_progress.
> chrome / firefox扩展

解决此问题,请以隐身模式打开Chrome / Firefox(通常会禁用所有扩展程序),然后打开您的应用程序.如果您仍然看到/ app / update_progress的匹配,那么很可能它不是导致问题的扩展.
>你正在使用的一些外部宝石

如果上面两个没有实现,那么发布您的Gemfile.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐