Lai*_*uan 112 rake ruby-on-rails
根据" 自定义佣金任务 ":
desc "Pick a random user as the winner"
task :winner => :environment do
puts "Winner: #{pick(User).name}"
end
Run Code Online (Sandbox Code Playgroud)
据我所知,:winner => :environment
意思是"做environment
之前winner
".但是什么environment
?我应该什么时候使用它?
我试过rake -T
,但在列表中我找不到environment
.
Sam*_*r C 114
通过使任务依赖于环境任务,您可以访问模型,实际上是整个环境.这可以让你做的事情run rake RAILS_ENV=staging db:migrate
.
请参阅" 自定义Rake任务 ".
MrD*_*anA 39
它加载到您的Rails环境中,因此您可以实际使用您的模型,而不是.否则,它不知道那些事情.
因此,如果您完成了刚刚完成的任务,puts "HI!"
则无需将:environment
任务添加到依赖项中.但是如果你想做一些User.find(1)
需要它的事情.
Lar*_*vie 31
包括=> :environment
将告诉Rake加载完整的应用程序环境,让相关的任务访问诸如类,帮助程序等的东西.没有:environment
,你将无法访问任何这些额外的东西.
另外=> :environment
本身并没有提供任何与环境有关的变量,例如environment
,@environment
,RAILS_ENV
等.
归档时间: |
|
查看次数: |
56569 次 |
最近记录: |