在删除一些模型时我有点搞砸了,所以我决定放弃整个表并重新运行迁移以获得新的开始。但是,运行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
非常感谢您提前!
答案 0 :(得分:0)
您可能会意外地从其定义或类似内容中调用方法,从而导致递归。
使用rake db:seed --trace
应该有助于显示哪些方法填满了调用堆栈。如果在给你跟踪之前崩溃,你可以尝试一些更高级的工具,如https://github.com/tmm1/stackprof