Я в растерянности здесь.У меня довольно простая вещь, но, похоже, у меня много проблем с этим.У меня есть прямой веб-сканер в работах.Люди публикуют запросы и отправляют их в очередь.Если они хотят запросить то, что находится в очереди: маршрут -
127.0.0.1: 8080 / запросы / id / 1.json
ответ - действие (def) CrawlerController является контроллером.запрос модели.
Вот маршрут: (хотя я не думаю, что это актуально)
match 'requests/id/:id' => 'crawler#response'
А вот определение в контроллере:
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'
довольно странно, да?