rails自定义rake

2018-03-29  本文已影响87人  李傲娢

在使用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,然后直接在终端可以运行
上一篇下一篇

猜你喜欢

热点阅读