Rails奇怪Stack Stack Too Deep&路由错误

时间:2012-12-02 06:39:42

标签: ruby-on-rails ruby

在编辑某些代码(任何代码)后,我只在开发环境中出现此错误,然后按“刷新”以查看更改。

每次发生这种情况都会引发一个错误,说“堆栈级别太深”然后当我刷新页面时再次引发“路由错误”。然后,在重新启动服务器之前,我无法浏览任何页面。

我将不得不停止Rails服务器然后重新启动它,然后它会工作,直到我再次更改代码。

我尝试了几种方法,包括增加ulimit“ulimit -s”命令,但它没有解决问题。我搜索到这与无限循环有关但在我的情况下它与代码无关,因为重新启动服务器后错误消失。

任何线索或解决方案都将受到高度赞赏。感谢。

编辑:添加routes.rb和堆栈跟踪

路线:http://pastebin.com/YzXyUH35

堆栈追踪:

SystemStackError (stack level too deep):
  actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:70


  Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.5ms)
  Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.3ms)
  Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (19.9ms)

2 个答案:

答案 0 :(得分:1)

请将您的会话存储更改为活动记录存储或config.cache_store = :dalli_storedalli gem),而不是cookie存储。

答案 1 :(得分:0)

devise_inviable gem中有一个错误导致了我遇到的问题。我发现这里的答案有助于解决我的问题rails 3 routes stack level too deep devise