Ruby on rails Rails 3.2.13500开发中的错误,没有日志
我在迁移rails 2.x->3.2.13时遇到问题 在某个时刻,在修复了一些东西之后,我在76ms内完成了500个内部服务器错误,没有任何回溯 development.rbRuby on rails Rails 3.2.13500开发中的错误,没有日志,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我在迁移rails 2.x->3.2.13时遇到问题 在某个时刻,在修复了一些东西之后,我在76ms内完成了500个内部服务器错误,没有任何回溯 development.rb config.consider_all_requests_local = true config.action_controller.perform_caching = false 为什么没有回溯以及如何修复此问题?您可能已经解决了此问题,但我想与您分享我的几个小时关于此问题的调试,因为它可能非常烦人。简而言
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
为什么没有回溯以及如何修复此问题?您可能已经解决了此问题,但我想与您分享我的几个小时关于此问题的调试,因为它可能非常烦人。简而言之,我也遇到了同样的问题——500个内部服务器错误,没有抛出任何异常日志。这只发生在操作视图模板中抛出的异常中-任何
ActionView::Template::Error
exception。例如,缺少部分无效路由
我的具体问题是使用这个ruby统计模块:
直接在initializers目录中,这在Rails2.x中非常有效。它定义了Array.sum
方法,该方法已在rails 3中的Enumerable.sum
下定义。重定义的问题是,Array.sum
不再适用于字符串数组,rails正试图使用ActionView::Template::Error.source\u extract
方法-当试图在模板中提取错误源时,它使用了以错误方式重定义的Enumerable.sum
方法。因此,发生了另一个异常TypeError:无法将字符串转换为Fixnum
,并且未记录原始异常,新异常也未记录。我不得不做一个回溯,并通过许多内部电话,看看问题出在哪里
因此,对于所有没有看到ActionView模板中抛出的实际异常的人,请检查您是否没有重新定义rails内部使用的rails方法。您可能已经解决了这个问题,但我想与大家分享我对这个问题的几个小时的调试,因为它可能非常烦人。简而言之,我也遇到了同样的问题——500个内部服务器错误,没有抛出任何异常日志。这只发生在操作视图模板中抛出的异常中-任何
ActionView::Template::Error
exception。例如,缺少部分无效路由
我的具体问题是使用这个ruby统计模块:
直接在initializers目录中,这在Rails2.x中非常有效。它定义了Array.sum
方法,该方法已在rails 3中的Enumerable.sum
下定义。重定义的问题是,Array.sum
不再适用于字符串数组,rails正试图使用ActionView::Template::Error.source\u extract
方法-当试图在模板中提取错误源时,它使用了以错误方式重定义的Enumerable.sum
方法。因此,发生了另一个异常TypeError:无法将字符串转换为Fixnum
,并且未记录原始异常,新异常也未记录。我不得不做一个回溯,并通过许多内部电话,看看问题出在哪里
因此,对于没有看到ActionView模板中抛出的实际异常的所有人,请检查您是否没有重新定义rails内部使用的rails方法。您不应该将2.x升级到3.2.x。您应该先迁移到3.0.x,然后再迁移到3.2.x。跳转太多版本必然会产生问题。不应将2.x升级到3.2.x。您应该先迁移到3.0.x,然后再迁移到3.2.x。跳转太多版本肯定会产生问题。你说得对,我解决了,但事实并非如此。我没有定义文件(*.rb)编码,这就是问题所在。在某种程度上,rails必须捕获这个错误(我不知道为什么,可能是个bug),而不给我任何回溯,只有500个错误。但谢谢你的回答,这是一个非常相似的问题。我注释掉了我开发组中的每个gem,直到错误消息再次出现在日志和浏览器上。非常感谢。我发现是网络控制台gem造成的。gem一定是过度编写了Rails方法。你说得对,我解决了它,但事实并非如此。我没有定义文件(*.rb)编码,这就是问题所在。在某种程度上,rails必须捕获这个错误(我不知道为什么,可能是个bug),而不给我任何回溯,只有500个错误。但谢谢你的回答,这是一个非常相似的问题。我注释掉了我开发组中的每个gem,直到错误消息再次出现在日志和浏览器上。非常感谢。我发现是网络控制台gem造成的。gem一定是过度编写了Rails方法。