gpt4 book ai didi

ruby-on-rails - 如何创建一个在任何 Rake 任务运行时始终运行的 Rake 任务?

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:24 25 4
gpt4 key购买 nike

据我所知,在文档中指定在测试环境中,即使您运行 rake(不带参数),数据库也会始终被清除。我想实现这样的事情,这样无论我是否运行任务都没有关系,当我运行 rake 时,总是有一个 Rake 任务正在执行。这可能吗?这是默认任务开始的地方吗?

最佳答案

在您要从中运行任务的目录中创建一个名为 rakefile 的文件。这段代码将使它成为这样,如果你只输入“rake”,my_default_task 就会运行:

  task :default => 'my_default_task'

task :my_default_task do
puts "Now I am doing the task that Tempus wants done when he/she types 'rake' in the console."
end

task :my_not_default_task do
puts "This isn't the default task."
end

但是,如果您键入 rake my_not_default_task,则 my_default_task 将不会运行。如果你想让它运行,不管这里是你可以做的一件事:

task :default => 'my_default_task'

task :my_default_task do
puts "This is the default task"
end

task :my_not_default_task do
puts "This isn't the default task."
end

Rake::Task['my_default_task'].invoke

这段代码的最后一行确保 my_default_task 即使在您调用其他任务时也会运行,因此如果您键入 rake my_not_default_task my_default_task 也会运行。

编辑:当你使用 rails 工作时,你可以将上面的任务放在 lib/tasks 文件夹中,扩展名为 .rake ,rails 会自动运行它们。做 rake

Jason Seifer has a real nice tutorial on rake .

关于ruby-on-rails - 如何创建一个在任何 Rake 任务运行时始终运行的 Rake 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10720149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com