Отсутствует задача rake db:test:prepare двигателя Rails 3.1

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

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

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

Строка 7 моего Rakefile в spec/dummy/ равна Dummy::Application.load_tasks

Мои исследования на данный момент привели меня к http://www.engineyard.com/blog/2010/rails-3-beta-is-out-a-retrospective/, что соответствует databases.rake в Active Record.

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


person SpaceGhost    schedule 22.05.2011    source источник


Ответы (3)


Похоже на http://blog.davidchelimsky.net/2011/05/22/rspec-rails-261beta1-is-released/ — вот ответ.

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

person Omar Qureshi    schedule 22.05.2011
comment
Великолепно @Омар. Время этих сообщений безумно. Запускается Rails 3.1, я возился с ним, и через несколько часов исправление всплывает в сообщении в блоге. Спасибо. - person SpaceGhost; 22.05.2011

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

person Kris    schedule 10.05.2012
comment
Спасибо, Крис, мне это просто нужно было сегодня, я был удивлен, когда увидел, кто опубликовал правильный ответ. Лучший, Алекс из Варшавы :) - person tjeden; 17.03.2017

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

person Jesper Blad Jensen    schedule 22.05.2011
comment
Это так называется, но как мне передать эту задачу в мой движок? В настоящее время он находится в Active Record, и мое фиктивное приложение Rakefile выдает ошибку, когда я пытаюсь его загрузить. Так что я не могу получить задание. - person SpaceGhost; 22.05.2011