简单的rails rake任务拒绝运行时出现错误“不知道如何构建任务”,为什么?

问题描述 投票:39回答:5

我有这个简单的rake任务拒绝运行。我只是不明白为什么它看起来正确。谁可以指出我可能非常简单的错误?谢谢!

/礼拜/tasks/reindex.日本:

namespace :db do

  desc "Tire reindex profiles"

  task :reindex => :environment do
    system "cd #{Rails.root} && rake environment tire:import CLASS='Profile' FORCE=true"
  end

end

错误:

rake db:reindex
rake aborted!
Don't know how to build task 'db:reindex'
ruby-on-rails rake rake-task
5个回答
90
投票

将您的文件重命名为reindex.rake,它应该工作。

相关:How to build task 'db:populate'


14
投票

如果忘记将命名空间放在任务名称之前,也可能会出现此错误。 (即:reindex而不是db:reindex)


2
投票

不要忘记检查是否调用了任务的名称而不是文件名。最好的是它们的名字相同。


2
投票

rake任务的文件扩展名必须为“.rake”。

如果你将你的文件命名为'.rb',那么rake将无法找到它,你会在结束之前几分钟质疑自己的理智。


0
投票

这个错误发生在我身上是因为命名空间名称得到了下划线

As is: deploy_app  (not work)
To be: deployapp   (working)
© www.soinside.com 2019 - 2024. All rights reserved.