rails ejemplos ruby-on-rails rake

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