在编辑某些代码(任何代码)后,我只在开发环境中出现此错误,然后按“刷新”以查看更改。
每次发生这种情况都会引发一个错误,说“堆栈级别太深”然后当我刷新页面时再次引发“路由错误”。然后,在重新启动服务器之前,我无法浏览任何页面。
我将不得不停止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)
答案 0 :(得分:1)
请将您的会话存储更改为活动记录存储或config.cache_store = :dalli_store
(dalli
gem),而不是cookie存储。
答案 1 :(得分:0)
devise_inviable gem中有一个错误导致了我遇到的问题。我发现这里的答案有助于解决我的问题rails 3 routes stack level too deep devise