2012-03-31 8 views
20

Acabo de entrar en la programación de rieles y parece que hay dos programas que puedo usar para ejecutar mi proyecto localmente: rackup y foreman.¿Por qué Foreman no genera algunas cosas hasta que presiono Control-C?

Una diferencia que noté es que el capataz no generará algunas cosas que esperaría ver y vería si ejecuté el rackup en su lugar, hasta que presione ctrl + c para cerrar el servidor. Luego aparecen todos esos mensajes, como si estuvieran ocultos.

¿Hay alguna razón para esto? ¿Cómo puedo hacer que el capataz sea más prolijo?

+0

es el problema resuelto para usted? Considere marcar la respuesta correcta o decirnos qué falta. – oma

Respuesta

47

Si no está viendo ningún resultado de su programa, existe la posibilidad de que esté almacenando en búfer el stdout. Ruby buffers stdout por defecto.

se puede solucionar este problema poniendo el código siguiente en el archivo development.rb:

$stdout.sync = true 

http://github.com/ddollar/foreman/wiki/Missing-Output

+0

¡Muchas gracias! Me pregunto por qué esto no está activado por defecto para los entornos de desarrollo, se siente como un error de Rails. – eblume

+0

Pero, ¿dónde exactamente pone uno esta línea dentro de la aplicación de Rails? ¿Dentro de config/development.rb? – kikito

+5

@kikito sí - dentro de su archivo rb de entorno. Además, neuromancer debería aceptar esta respuesta. – courtsimas

Cuestiones relacionadas