rake任务详解

  • rake简介:
    rake的意思是ruby make, 是一个强大的代码构建工具。

  • 作用:
    1.以任务的方式创建和运行脚本。
    2.追踪和管理任务之间的依赖。
    如:migrate 任务和schema:dump任务都依赖于“connect_to_database”任务, 在migrate任务调用之前,“connect_to_database”任务会被执行。

  • rails中的rake任务
    rails预定义了大量的rake任务,在rails中,所有的rake任务都被放在rails目录下的lib/tasks目录下,以.rake作为后缀名,这些文件会自动加载到你的环境中。

  • 举例说明:
    简单:

desc "买菜"
task :purchaseVegetables do
  puts "买菜"
end

依赖关系(要做饭 必须先买菜)

desc "做饭"
task :cook  => :purchaseVegetables do
   puts "做饭"
end

调用其他任务:

desc "今天的任务" 
task :today do 
Rake::Task["home:cook"].invoke 
Rake::Task["home:laundry"].invoke 
end 

namespace :home do 
…… 
end 

调用其他任务,只需要

Rake::Task["home:cook"].invoke 
Rake::Task["home:laundry"].invoke 

注意:invoke即使循环也只会执行一次,如果需要执行n次,需要使用execute执行

关于命名空间的声明:
migrate任务的命名空间是db,所以用rake db:migrate来引用。

你可能感兴趣的:(rake任务详解)