迁移w/sqlite3时遇到问题,接收错误消息 - > nil的未定义方法`先决条件':NilClass

jeb*_*bek 5 sqlite rake

我正在研究RoR3教程,当我尝试使用rakedb:migrate命令时,我正在使用第6章.我收到了这样的消息:

耙子流产了!nil的未定义方法"先决条件":NilClass

我忽略了对Gemfile的更改,因为它已经安装了sqlite3.当我将其更改为'sqlite3-ruby','1.2.5':required =>'sqlite3'时,我在尝试在本地查看页面时收到了一条ActiveRecord :: ConnectionNotEstablished消息.所以,我决定不做出改变.

我使用的是Lion os,ruby 1.9.2p290,rails 3.1.0.rc8.谢谢!

小智 17

我目前正在研究相同的教程,并遇到了同样的问题.经过一番挖掘,结果证明这是rspec-rails的一个错误.如果你看一下2.6.1的rpsec-rails'更改日志

防止在nil默认rake任务上调用先决条件(Jack Dempsey)

当你运行"bundle install"时,本书也没有机会详细了解发生了什么,事实证明,bundler是为了解决应用程序依赖性:http://gembundler.com/rationale.html

无论如何,这是解决方案:https://github.com/rails/rails/issues/1723

将'rspec-rails'更改为:gemfile中的开发:

gem 'rspec-rails', '2.6.1.beta1'
Run Code Online (Sandbox Code Playgroud)

和'rspec'在:测试到

gem 'rspec', '2.6'
Run Code Online (Sandbox Code Playgroud)

为我工作.如果你想一起完成这本书,请告诉我!