在Rake任務定義,像以下:新手,約Rake任務語法
desc 'SOME description'
task :some_task => :environment do
# DO SOMETHING
end
什麼的:some_task
在task :some_task => :environment
手段?
是否將在DO SOMETHING
部分調用的方法名?
可以:some_task
是描述任務的任意字符串嗎?
在Rake任務定義,像以下:新手,約Rake任務語法
desc 'SOME description'
task :some_task => :environment do
# DO SOMETHING
end
什麼的:some_task
在task :some_task => :environment
手段?
是否將在DO SOMETHING
部分調用的方法名?
可以:some_task
是描述任務的任意字符串嗎?
實際上,當您創建一個耙子任務時,: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環境(加載庫,準備數據庫連接,...),這是非常昂貴的,因此是可選的。
爲什麼指向環境?那是什麼意思? –
@ Leem.fin這意味着該任務取決於您的導軌環境,因此它首先被加載 – Stobbej