Проблема миграции с sqlite3, получение сообщения об ошибке-> неопределенный метод `prerequisites 'для nil: NilClass - PullRequest
5 голосов
/ 13 сентября 2011

Я работаю над учебным пособием по RoR3, и я в 6-й главе, когда я попробовал команду rakedb: migrate .Я получил сообщение:

рейк прерван!undefined метод `prerequisites 'для nil: NilClass

Я проигнорировал изменения в Gemfile, потому что он уже устанавливал sqlite3.Когда я изменил его на 'sqlite3-ruby', '1.2.5': required => 'sqlite3' , я получил сообщение ActiveRecord :: ConnectionNotEstablished при попытке просмотреть страницу локально.Итак, я просто решил не вносить это изменение.

Я использую lion os, ruby ​​1.9.2p290, rails 3.1.0.rc8.Thx!

1 Ответ

17 голосов
/ 19 сентября 2011

Я сейчас работаю над тем же учебником и столкнулся с той же проблемой.После некоторого копания выясняется, что это ошибка в rspec-rails.Если вы посмотрите на журнал изменений rpsec-rails для 2.6.1

, который защищает от вызова предварительных условий для задания рейка nil по умолчанию (Джек Демпси)

, книга также не показываетКогда вы запускаете «установку пакета», у вас не будет возможности подробно остановиться на том, что происходит, оказывается, что пакет предназначен для решения зависимостей приложения: http://gembundler.com/rationale.html

В любом случае, это было решение: https://github.com/rails/rails/issues/1723

Измените 'rspec-rails' в: development в вашем gemfile на:

gem 'rspec-rails', '2.6.1.beta1'

и 'rspec' в: test на

gem 'rspec', '2.6'

у меня сработало.Дайте мне знать, если вы хотите вместе проработать книгу!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...