【问题标题】:Rails strange Stack Level Too Deep & Routing ErrorRails 奇怪的堆栈级别太深和路由错误
【发布时间】:2012-12-02 06:39:42
【问题描述】:

我只是在编辑一些代码(任何代码)后在开发环境中收到此错误,然后按刷新查看更改。

每次发生这种情况时,它都会引发“Stack Level Too Deep”错误,然后当我刷新页面时,它会再次引发“Routing Error”。然后我无法浏览任何页面,直到我重新启动服务器。

我将不得不停止 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)

【问题讨论】:

  • 可能是您的路线有问题。你能在这里列出来吗?
  • 我添加了路由文件和堆栈跟踪。谢谢
  • 哪条路线导致问题?
  • 能否请您粘贴完整的应用程序日志,以便找出是哪个控制器导致了问题。可能是您在不知不觉中应用了无限过滤器的地方。
  • 嗨@simonmorley,它可以是任何路线,因为它发生在我更改任何代码并在浏览器上按刷新时。如前所述,它与代码无关

标签: ruby-on-rails ruby


【解决方案1】:

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

【讨论】:

  • 我正在使用 Mongoid & Memcached 和 Dalli Gem。谢谢。
  • 你看过这个帖子stackoverflow.com/questions/10464793/…。这可能是因为模型方法循环,​​所以最初在加载模型文件本身时,它们会给出(堆栈级别太深)错误。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2017-08-19
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多