Según " 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é, los :winner => :environment
medios "hacer environment
antes winner
". Pero lo que es environment
? ¿Cuándo debo usarlo?
Lo intenté rake -T
, pero en la lista no pude encontrar environment
.
ruby-on-rails
rake
Lai Yu-Hsuan
fuente
fuente
Respuestas:
Puede obtener acceso a sus modelos y, de hecho, a todo su entorno haciendo que las tareas dependan de la tarea del entorno. Esto te permite hacer cosas como
run rake RAILS_ENV=staging db:migrate
.Ver " Tareas personalizadas de rake ".
fuente
Se carga en su entorno Rails para que pueda usar sus modelos y lo que no. De lo contrario, no tiene ni idea de esas cosas.
Entonces, si realizó una tarea que acaba de
puts "HI!"
hacer, no necesita agregar la:environment
tarea a las dependencias. Pero si desea hacer algoUser.find(1)
así, lo necesitará.fuente
La inclusión
=> :environment
le dirá a Rake que cargue por completo el entorno de la aplicación, dando 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
en sí no pone a disposición ninguna de las variables relacionadas con el ambiente, por ejemploenvironment
,@environment
,RAILS_ENV
, etc.fuente