Respuesta

28

Para expandir un poco la respuesta de Paritosh, Rails.env.production? y Rails.env.development? devolverán verdadero/falso según el entorno que esté utilizando.

Estos métodos se definen en la clase StringInquirer en el módulo ActiveSupport. Véalos here.

+0

¿Dónde puedo ver el origen de estas funciones? debe ser una cosa de meta programación. ¿Alguna idea? – shajin

+1

Sí, lo es. Eche un vistazo [aquí] (https://github.com/rails/rails/blob/e20dd73df42d63b206d221e2258cc6dc7b1e6068/activesupport/lib/active_support/string_inquirer.rb). – Zajn

2

use Rails.env, le proporcionará el entorno en el que está trabajando.

+1

Gracias, eso es lo que estaba buscando. Parece devolver un StringInquirer. ¿Hay alguna manera particular en que se espera que consultemos este objeto? –

+0

cheque @Zajn respuesta, que coincida perfectamente con su requisito. –

7

riff fuera de la respuesta anterior, se puede alcance su cheque a ambientes específicos, así:

Rails.env.development? 

donde development? es el nombre del entorno que desea comprobar.

también algo más que tienden a hacer es si yo soy el registro de múltiples entornos es posible que desee hacer algo como:

if %w(staging production).include?(Rails.env) 
    # do something 
end 
Cuestiones relacionadas