2011-05-25 7 views
6

hice esto en test.rb:¿Cómo habilitar las advertencias de Ruby en Rails?

def some_method 
    p "First definition" 
end 

def some_method 
    p "Second definition" 
end 

some_method 

Cuando llamo ruby test.rb, imprime Second definition (esperado)

Cuando llamo ruby -w test.rb, imprime Second definition (esperado) y imprime una advertencia test.rb:5: warning: method redefined; discarding old some_method

¿Hay alguna manera de habilitar esas advertencias en Rails? (E imprimir la advertencia en el archivo de consola/log)

Por qué me gustaría activar los avisos: por ejemplo, si inadvertidamente redefinir un método en un controlador, entonces yo sería consciente del problema mirando la advertencia impresa a la consola/archivo de registro. See here for an example.

Respuesta

5

poner esto en algún lugar de su código de inicialización (como config/application.rb):

$VERBOSE = true 

Es posible que también conseguir algunas advertencias de los rieles en sí, aunque.

+1

Esto ayuda como iniciador, gracias. Voy a buscar algún modo (¡si es posible!) De desactivar las advertencias para el código de Rails/3rd party. He escrito un resaltador de registro, así que tal vez destaque en la consola, en rojo, el directorio del código fuente de * my * app, para poder prestarle atención e ignorar las miríadas de advertencias de Rails. – Zabba

+0

@Zabba ¿terminaste encontrando la manera de hacer esto? –

+0

@ patrick-davey, no. Pero hoy encontré este blog http://mislav.net/2011/06/ruby-verbose-mode/ (irónicamente escrito 1 mes después de que tuve este problema, ¿por qué no lo encontré en ese entonces ?! – Zabba

Cuestiones relacionadas