[英]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
、 @environment
、 RAILS_ENV
等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.