5

我正在开发一个 Rails 3.1 引擎,因为它是一个全新的版本,而且我正在努力工作,我没想到事情会完美。当我运行 bundle exec rake -T 时,我似乎无法让我的引擎看到 db:test:prepare 任务

我正在使用 rake 0.8.7 和边缘导轨。如果我尝试要求虚拟应用程序的 Rakefile,我会得到

undefined method 'prerequisites' for nil:NilClass 在 spec/dummy/Rakefile 的第 7 行

我在 spec/dummy/ 中的 Rakefile 的第 7 行是Dummy::Application.load_tasks

到目前为止,我的研究将我带到了http://www.engineyard.com/blog/2010/rails-3-beta-is-out-a-retrospective/,它对应于 Active Record 中的databases.rake 。

如何将db:test:prepare任务放入我的引擎?

4

3 回答 3

11

我认为您必须以app, sorake app:db:test:prepare或 just为前缀rake app:test:prepare

于 2012-05-10T11:24:09.597 回答
4

看起来http://blog.davidchelimsky.net/2011/05/22/rspec-rails-261beta1-is-released/是答案。

原因是它可以防止在 nil 上调用先决条件,并且可以与 Rails 3.1 RC(或此时的边缘)一起使用。

于 2011-05-22T11:00:12.583 回答
1

据我所知,它只是被称为 rake test:prepare in rails 3.1

于 2011-05-22T11:06:24.830 回答