ruby-on-rails - ejemplos - schedule cron rails
¿Cuál es la tarea de ''medio ambiente'' en Rake? (3)
De acuerdo con " Tareas personalizadas de rake ":
desc "Pick a random user as the winner"
task :winner => :environment do
puts "Winner: #{pick(User).name}"
end
Hasta donde yo sé, el :winner => :environment
significa "hacer environment
antes que winner
". Pero, ¿qué es el environment
? ¿Cuándo debería usarlo?
Intenté rake -T
, pero en la lista no pude encontrar el environment
.
Incluir => :environment
le dirá a Rake que cargue por completo el entorno de la aplicación, dándole a la tarea relevante acceso a cosas como clases, ayudantes, etc. Sin el :environment
no tendrá acceso a ninguno de esos extras.
También => :environment
propio => :environment
no pone a disposición ninguna variable relacionada con el entorno, por ejemplo, environment
, @environment
environment
, RAILS_ENV
, etc.
Puede obtener acceso a sus modelos y, de hecho, a todo su entorno haciendo que las tareas dependan de la tarea de entorno. Esto le permite hacer cosas como run rake RAILS_ENV=staging db:migrate
.
Consulte " Tareas personalizadas de rake ".
Se carga en el entorno de Rails para que pueda usar sus modelos y lo que no. De lo contrario, no tiene idea de esas cosas.
Entonces, si hiciste una tarea que acaba de hacer se puts "HI!"
entonces no necesita agregar la tarea :environment
a las dependencias. Pero si desea hacer algo como User.find(1)
bueno, eso lo necesitará.