2013-02-06 56 views
2

我正在將應用程序從Rails 3.0升級到Rails 3.1。測試運行正常,作爲獨角獸服務器。但是,當我運行任何rake任務(即'rake routes'或甚至'rake about')時,它會返回'堆棧級別太深'。這不會發生使用Rails 3.0.20。運行任何rake任務時堆棧級別過深錯誤

我跟蹤了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',並嘗試使用binstub('bin/rake')。

我還沒有使用資產管道,所以沒有sass-rails問題。

我在OS X Mountain Lion下使用RVM,並且還重新安裝了ruby 1.9.3-p374。我甚至在Vagrant下使用過Ubuntu,結果相同。

有沒有人有同樣的問題?

回答

3

發現問題:在某些任務中,我們有ActionView::Helpers包含在內(例如使用number_to_currency),這就是導致堆棧級別太深的錯誤。

當您使用include ActionView::Helpers創建全新的應用程序和單個.rake文件時,也會發生這種情況。關於這個,我會在Ruby on Rails上打開一個問題。

+0

我縮小到特定的ActionView :: Helpers :: ControllerHelper。這是導致錯誤的唯一幫手。 – shadowmaru

+0

以下是相關問題:https://github.com/rails/rails/issues/3144#issuecomment-13617171 – Lichtamberg