簡體   English   中英

Rake 中的“環境”任務是什么?

[英]What's the 'environment' task in Rake?

根據“自定義耙任務”:

desc "Pick a random user as the winner"
task :winner => :environment do
  puts "Winner: #{pick(User).name}"
end

據我所知, :winner =>:environment的意思是“在winner之前做environment ”。 但是什么是environment 我應該什么時候使用它?

我試過rake -T ,但在列表中我找不到environment

您可以通過使任務依賴於環境任務來訪問您的模型,實際上是您的整個環境。 這使您可以執行諸如run rake RAILS_ENV=staging db:migrate之類的操作。

請參閱“自定義 Rake 任務”。

它加載到您的 Rails 環境中,因此您可以實際使用您的模型以及其他什么。 否則,它對那些事情一無所知。

因此,如果您做了一項剛剛完成的任務,就會發出puts "HI!" 那么您不需要將:environment任務添加到依賴項中。 但是,如果您想很好地執行User.find(1)之類的操作,那將需要它。

包括=>:environment將告訴 Rake 加載完整的應用程序環境,使相關任務可以訪問類、助手等。沒有:environment ,您將無法訪問任何這些額外內容。

此外=>:environment本身不提供任何與環境相關的變量,例如environment@environmentRAILS_ENV等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM