在使用rails做开发的时候,可以通过rake **执行一些任务,如rake db:migrate合并数据库,rake assets:precompile压缩资源文件.
可以通过以下代码查看当前项目中的所有task任务
rails new shop-app # 创建一个空白项目
cd shop-app # 进入项目目录
rake -T # 查看项目中所有的任务
在实际开发的时候可能会用到需要自己创建一些任务
rails g task shop_init # 创建一个自定义任务
# create lib/tasks/shop_init.rake,在lib/tasks目录中会生成文件
# 所有自定义的任务都放在这里
namespace :shop_init do
# 创建一个任务
task :hello_world do
p 'Hello world!'
end
end
rake shop_init:hello_world # 执行自定义任务
通过namespace指定task的命名空间,为了区分任务的执行环境可以引入相关参数配置.可以创建多个task,在运行的时候指定名字就好
namespace shop_init: :environment do
desc "my first rake"
task :hello_world => :environment do
p 'Hello world!'
end
desc 'secone'
task :second => :environment do
p '此处可以做其他事情'
end
end
# 运行
rake -T # 可以看到刚才创建的rake,然后直接在终端可以运行
网友评论