Rails 3.1 engine rake db: тест: отсутствует задача подготовки

#ruby-on-rails #activerecord #rake #ruby-on-rails-3.1

#ruby-on-rails #activerecord #rake #ruby-on-rails-3.1

Вопрос:

Я работаю над rails 3.1 engine, и поскольку это совершенно новая версия, и я работаю вне edge, я не ожидал, что все пройдет идеально. Кажется, я не могу заставить свой движок видеть db: test: задание подготовки при запуске rake -T bundle exec

Я использую rake 0.8.7 и edge rails. Если я пытаюсь запросить файл Rakefile фиктивного приложения, я получаю

undefined method 'prerequisites' for nil:NilClass в строке 7 спецификации / фиктивного / Rakefile

Строка 7 моего Rakefile в спецификации / dummy / является Dummy::Application.load_tasks

Мои исследования до сих пор привели меня к http://www.engineyard.com/blog/2010/rails-3-beta-is-out-a-retrospective / которая соответствует базам данных.выполнить рейк в активной записи.

Как мне вставить db:test:prepare задачу в мой движок?

Ответ №1:

Я думаю, вам нужно добавить префикс с app , so rake app:db:test:prepare или просто rake app:test:prepare .

Комментарии:

1. Спасибо, Крис, мне это просто было нужно сегодня, был удивлен, когда увидел, кто опубликовал правильный ответ. Лучший, Алекс из Варшавы 🙂

Ответ №2:

Выглядит так http://blog.davidchelimsky.net/2011/05/22/rspec-rails-261beta1-is-released / является ответом.

Причина в том, что он защищает от вызова предварительных условий при nil и будет работать с Rails 3.1 RC (или edge на данный момент времени).

Комментарии:

1. Блестяще, @Omar. Сроки публикации этих сообщений безумны. Rails 3.1 получает одобрение, я возлюсь с ним, через несколько часов исправление появляется в сообщении в блоге. Спасибо.

Ответ №3:

Насколько я знаю, тогда это просто называется rake test:prepare в rails 3.1

Комментарии:

1. Это называется так, но как мне вставить эту задачу в мой движок? В настоящее время она находится в активной записи, и мой фиктивный файл Rakefile приложения выдает ошибку при попытке его загрузить. Итак, я действительно не могу получить задачу.