Tengo un código que debe ejecutarse solo si la aplicación rails está en el entorno de desarrollo (es decir, el servidor $ rails) pero no en el entorno de prueba (es decir, la prueba $ rake).
Cuando lo intento
if Rails.env.development?
dont run me during testing
end
el código se ejecuta independientemente del entorno en el que me encuentre. Incluso he intentado:
if Rails.env.development? and not Rails.env.test?
NO, REALLY, DONT RUN ME DURING TESTING
end
pero no amor.
¿Qué debería estar haciendo en su lugar?
ruby-on-rails
testing
environment
spierepf
fuente
fuente
Rails.env
dentro de ese bloque para ver qué entorno cree que está usando Rails?Respuestas:
Parece que lo estás llamando correctamente. Quizás el problema es que el medio ambiente recibe un nombre diferente en alguna parte. Prueba en la consola:
> Rails.env => "development" > Rails.env.development? => true > Rails.env.test? => false
... para confirmar que el medio ambiente es lo que crees que es.
fuente
RAILS_ENV=test rails console
.