我在 Rails 3 应用程序中收到 SystemStackError
。
我拥有的所有信息都是无用的一行堆栈跟踪(从日志中获取):
SystemStackError (stack level too deep):
activesupport (3.2.3) lib/active_support/callbacks.rb:409
所以问题是我如何查看完整的堆栈跟踪?
注意:我不关心为什么会发生这种情况,我只想知道它发生在何处。
使用:Rails 3.2.3,Unicorn。
谢谢。
最佳答案
如果您在 before_save 或 after_save 中更新事件记录,它将继续循环.... 此外,如果您在关联的两端都有 validates_associated。
下面是一个 before_save
回调如何创建循环的示例:
class Foo < ActiveRecord::Base
def before_save
self.update_attribute(:bar, 'badidea')
end
end
关于ruby-on-rails - activesupport 回调中的堆栈级别太深,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424040/