【发布时间】:2013-01-28 12:21:02
【问题描述】:
我正在按照 Addison Wesley Ruby On Rails 一书编写教程,目前正在学习 TDD。问题是我在安装 rspec 后使用 rake 时遇到问题,这是我在尝试“rake db:migrate”后从终端得到的:
rake aborted!
undefined method `prerequisites' for nil:NilClass
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/rspec-rails-2.0.1/lib/rspec/rails/tasks/rspec.rake:3:in `<top (required)>'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/rspec-rails-2.0.1/lib/rspec-rails.rb:10:in `load'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/rspec-rails-2.0.1/lib/rspec-rails.rb:10:in `block in <class:Railtie>'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `instance_exec'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `block in load_tasks'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `each'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `load_tasks'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/engine.rb:423:in `block in load_tasks'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `each'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `all'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/engine.rb:423:in `load_tasks'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/application.rb:145:in `load_tasks'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in `method_missing'
/Users/Jay/rails_projects/sample_app/Rakefile:7:in `<top (required)>'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `eval'
/Users/Jay/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `<main>'
(See full trace by running task with --trace)
我正在使用 rake 10.0.3 和 rspec 2.0.1
【问题讨论】:
-
你试过
bundle exec rake db:migrate吗? -
请阅读您的日志消息:
undefined method 'prerequisites' for nil:NilClass。这意味着没有先决条件method/attributes,因为没有类(该类不存在)。确保您创建了一个带有方法/属性prerequisites的model/class。运行rake db:migrate -
@hyperrjas 还有其他方法吗?我正在一步一步地做一个教程,它从来没有说过要创建任何模型,主要思想是对“spec/”文件运行 rspec 测试并且它失败了,这本书指出为了解决这个问题我必须使用导致此类错误的“rake”。
-
@Mukesh 我更新了 rsdoc 但没有帮助
标签: ruby-on-rails ruby rspec rake