Systemstack错误:运行db:seed后级别太深

时间:2014-05-21 10:43:20

标签: ruby-on-rails ruby rake

在删除一些模型时我有点搞砸了,所以我决定放弃整个表并重新运行迁移以获得新的开始。但是,运行db:seed(即使种子完全为空)后,我收到以下错误:

** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
rake aborted!
SystemStackError: stack level too deep
Tasks: TOP => db:seed

我不知道这是从哪里来的。我一直在看这个问题,但没有一个解决方案似乎适用于我的情况。我真的不明白我应该在哪里看,所以如果需要更多信息来帮助我:请告诉我!

由于某些人说它可能是宝石的问题,这是我的宝石文件:

source 'https://rubygems.org'
ruby '2.0.0'

gem 'rails', '4.0.4'
gem 'bootstrap-sass', '2.3.2.0'
gem 'sprockets', '2.11.0'

group :development, :test do
  gem 'sqlite3', '1.3.8'
  gem 'rspec-rails', '2.13.1'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
end

gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

gem 'omniauth-facebook'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

非常感谢您提前!

1 个答案:

答案 0 :(得分:0)

您可能会意外地从其定义或类似内容中调用方法,从而导致递归。

使用rake db:seed --trace应该有助于显示哪些方法填满了调用堆栈。如果在给你跟踪之前崩溃,你可以尝试一些更高级的工具,如https://github.com/tmm1/stackprof