簡體   English   中英

耙子流產! 不知道如何建立任務

[英]Rake aborted! Don't know how to build task

我在semester.rake文件中有一個rake任務。 看起來像這樣

namespace :db do
  desc "generate semester data"
  task semester: :environment do
    semester = Semester.create!(name: "SummerSemseter")
    semester = Semester.create!(name: "WinterSemester")
    semester = Semester.create!(name: "Spring Semester")        
  end
end

我以rake semester身份執行任務。 這給了我錯誤

rake aborted!
Don't know how to build task 'semester' (see --tasks)
/home/john/.rvm/gems/ruby-2.2.4/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
/home/john/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in `eval'
/home/john/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)

為什么我會收到此錯誤以及解決方案是什么?

您的semester任務位於命名空間db

因此,您需要運行它:

rake db:semester

添加到Shadwell的答案你的semester是在命名空間db

所以, rake db:semester對你rake db:semester

您可以使用該命令了解命名空間中的rake任務

rake -T | grep namespace

例如:

namespace :my_namespace do
  desc "TODO"
  task :my_task1 => :environment do
  end

  desc "TODO"
  task :my_task2 => :environment do
  end
end

給人,

$ rake -T | grep my_namespace

rake my_namespace:my_task1  # TODO
rake my_namespace:my_task2  # TODO

所以,如果你運行命令,

rake -T | grep db rake -T | grep db將在db命名空間下提供你的rake taks。

rake -T命令列出了所有可用的佣金,包括你的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM