在Rake 任务定义中,如下所示:
desc 'SOME description'
task :some_task => :environment do
# DO SOMETHING
end
:some_task
in是什么task :some_task => :environment
意思?
是否将在部分中调用的方法名称DO SOMETHING
?
可以:some_task
是描述任务的任意字符串吗?
在Rake 任务定义中,如下所示:
desc 'SOME description'
task :some_task => :environment do
# DO SOMETHING
end
:some_task
in是什么task :some_task => :environment
意思?
是否将在部分中调用的方法名称DO SOMETHING
?
可以:some_task
是描述任务的任意字符串吗?
实际上,当您创建 rake 任务时,:some_task
您正在调用的任务的名称。
例如,在这种情况下,您将调用rake some_task
您还可以为您的任务定义命名空间:
namespace :my_tasks do
desc "My first task"
task :first_task => :environment do
# DO SOMETHING
end
end
然后你会调用rake my_tasks:first_task
你的控制台。
希望对你有帮助,
编辑:
正如Holger Just所解释的,:environment
执行“环境”任务,如果您在轨道上,则加载环境。这可能需要很长时间,但如果您的任务与数据库一起使用,它也会为您提供帮助。
在您的示例中,您定义了一个名为的任务,可以通过在命令行some_task
上调用来调用该任务。rake some_task
这将取决于environment
你的新任务之前符文的任务some_task
。在 rails 中,environment
任务设置 rails 环境(加载库,准备数据库连接,...),这非常昂贵,因此是可选的。