Ruby on rails Ruby应用程序一直在响应,直到堆栈太深

Ruby on rails Ruby应用程序一直在响应,直到堆栈太深,ruby-on-rails,json,routes,web-crawler,response,Ruby On Rails,Json,Routes,Web Crawler,Response,我在这里不知所措。我有一个相当简单的事情要做,但似乎遇到了很多问题。我有直接的网络爬虫在工作中。人们发布请求并将其发送到队列中。如果他们想查询队列中的内容:路由是 127.0.0.1:8080/requests/id/1.json 响应是动作(def) CrawlerController是控制器。 请求就是模型 这是路线:(尽管我认为它不相关) 这是控制器内的def: def response @request = Request.find(params[:id]) respo

我在这里不知所措。我有一个相当简单的事情要做,但似乎遇到了很多问题。我有直接的网络爬虫在工作中。人们发布请求并将其发送到队列中。如果他们想查询队列中的内容:路由是

127.0.0.1:8080/requests/id/1.json

响应是动作(def) CrawlerController是控制器。 请求就是模型

这是路线:(尽管我认为它不相关)

这是控制器内的def:

  def response
    @request = Request.find(params[:id])
   respond_to do |format|
     #format.html { render :action => "new"}
     format.json { render :json => @request.to_json }
    end
  end
我得到的错误是堆栈级别太深。如果我查看控制台输出:

编辑:第21行和第19行是@respond to do和format.json

  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
Completed 500 Internal Server Error in 2688ms

SystemStackError (stack level too deep):
  app/controllers/crawler_controller.rb:21:in `response'
  app/controllers/crawler_controller.rb:19:in `response'
  app/controllers/crawler_controller.rb:21:in `response'
  app/controllers/crawler_controller.rb:19:in `response'
  app/controllers/crawler_controller.rb:21:in `response'
  app/controllers/crawler_controller.rb:19:in `response'

很奇怪吧?

尝试将变量从
@request
重命名为其他变量。我认为,
@request
可能被Rails用于其他用途


还可以尝试将您的操作从
响应
重命名为其他操作。我认为,
response
可能被Rails用于其他用途。

尝试将变量从
@request
重命名为其他用途。我认为,
@request
可能被Rails用于其他用途


还可以尝试将您的操作从
响应
重命名为其他操作。我认为,
response
可能被Rails用于其他用途。

尝试将您的方法从
response
重命名为其他用途。我认为,
response
可能被Rails用于其他用途。

尝试将您的方法从
response
重命名为其他用途。我认为,
response
可能会被Rails用于其他用途。

我发誓,如果这是另一个缺失的端点块Shakes fistI,我发誓如果这是另一个缺失的端点块Shakes fistit,现在就改为未初始化常量。我要试着解决这个问题。就是这样。我想它现在变成了未初始化的常量。我要试着解决这个问题。就是这样。我想
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
  CACHE (0.0ms)  SELECT "requests".* FROM "requests" WHERE "requests"."id" = 1 LIMIT 1
Completed 500 Internal Server Error in 2688ms

SystemStackError (stack level too deep):
  app/controllers/crawler_controller.rb:21:in `response'
  app/controllers/crawler_controller.rb:19:in `response'
  app/controllers/crawler_controller.rb:21:in `response'
  app/controllers/crawler_controller.rb:19:in `response'
  app/controllers/crawler_controller.rb:21:in `response'
  app/controllers/crawler_controller.rb:19:in `response'