【问题标题】:Rails 3.1 engine rake db:test:prepare task missingRails 3.1 引擎 rake db:test:prepare 任务丢失
【发布时间】:2011-08-30 13:10:06
【问题描述】:

我正在开发一个 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 行

我的 Rakefile 在 spec/dummy/ 中的第 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 任务放入我的引擎?

【问题讨论】:

    标签: ruby-on-rails activerecord rake ruby-on-rails-3.1


    【解决方案1】:

    我认为你必须以app 为前缀,所以rake app:db:test:prepare,或者只是rake app:test:prepare

    【讨论】:

    • 谢谢克里斯,我今天刚需要它,当我看到谁发布了正确的答案时感到很惊讶。最好的,来自华沙的 Aleks :)
    【解决方案2】:

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

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

    【讨论】:

    • 出色的@Omar。这些帖子的时机是疯狂的。 Rails 3.1 发布了,我摆弄了一下,几个小时后,修复出现在博客文章中。谢谢。
    【解决方案3】:

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

    【讨论】:

    • 这就是所谓的,但我如何将这个任务放入我的引擎中?它当前位于 Active Record 中,当我尝试加载它时,我的虚拟应用程序 Rakefile 会出错。所以我真的无法完成任务。
    猜你喜欢
    • 1970-01-01
    • 2012-04-03
    • 2011-11-17
    • 1970-01-01
    • 2012-11-03
    • 2010-11-09
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多