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á.