我正在将应用程序从Rails 3.0升级到Rails 3.1。测试运行正常,作为独角兽服务器。但是,当我运行任何rake任务('rake routes'或甚至'rake about')时,它会返回'stack level too'。使用Rails 3.0.20不会发生这种情况。
我已经跟踪了Rails堆栈,需要单独使用这些库,当我需要ActiveRecord或ActionController时会发生错误。
我尝试过不同版本的Rails(从3.1.0到3.2.11),不同版本的rake(0.8.7,0.9.2,10.0.3),不同版本的bundler(1.1.5和1.2) .3)和结果是一样的。我总是使用'bundle exec',并尝试使用binstubs('bin / rake')。
我仍然没有使用资产管道,所以没有sass-rails问题。
我在OS X Mountain Lion下使用RVM并重新安装了ruby 1.9.3-p374。我甚至在Vagrant下使用Ubuntu,结果相同。
有没有人有同样的问题?
答案 0 :(得分:3)
发现问题:在某些任务中,我们包含ActionView::Helpers
(例如,使用number_to_currency),这就是导致堆栈级别错误的原因。
当您使用include ActionView::Helpers
创建全新的应用和单个.rake文件时,也会发生这种情况。我将在Ruby on Rails上打开一个关于它的问题。