gpt4 book ai didi

ruby-on-rails - Rails 3.2.13,没有日志的开发中出现 500 错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:31 27 4
gpt4 key购买 nike

我在迁移 rails 2.x -> 3.2.13 时遇到了问题在某些时候,在修复了一些问题之后,我得到了 Completed 500 Internal Server Error in 76ms 而没有任何回溯。

development.rb

config.consider_all_requests_local       = true
config.action_controller.perform_caching = false

为什么没有回溯以及如何解决这个问题?

最佳答案

您可能已经解决了它,但我想分享一下我对这个问题的几个小时的调试,因为它可能非常烦人。简而言之,我遇到了同样的问题——500 内部服务器错误,没有任何抛出异常的日志。它只发生在操作 View 模板中抛出的异常 - 任何 ActionView::Template::Error 异常。例如,缺少部分无效路由。

我的具体问题是使用这个 ruby​​ 统计模块:

http://derrick.pallas.us/ruby-stats/

直接在 initializers 目录中,这在 rails 2.x 中运行良好。它定义了 Array.sum 方法,该方法已在 Rails 3 中的 Enumerable.sum 下定义。重新定义的问题是 Array.sum 不再适用于字符串数组,而这正是 Rails 试图用 ActionView::Template::Error.source_extract 方法所做的事情- 当试图提取模板中的错误源时,它使用了以错误方式重新定义的 Enumerable.sum 方法。因此,另一个异常发生了 TypeError: cannot convert String into Fixnum 并且没有记录原始异常,也没有记录新异常。我必须进行回溯并通过许多内部调用来查看问题出在哪里。

因此,对于没有看到 ActionView 模板中抛出的实际异常的每个人,请检查您是否没有重新定义在 rails 内部使用的 rails 方法。

关于ruby-on-rails - Rails 3.2.13,没有日志的开发中出现 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16891402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com