es la consola en rieles (~ rails c
) dinámica? Por ejemplo; si abro la consola y luego realizo cambios en un modelo, ¿seleccionará estos cambios o tendré que salir de la consola y ejecutar nuevamente el rails c
para que recoja los cambios en el modelo?¿La consola de los rieles es dinámica?
Respuesta
Deberá llamar al método reload!
en la consola para volver a cargar los cambios. La magia de este método se llama automáticamente por rails server
en modo de desarrollo.
Como comentario de señalar por debajo y otra respuesta aquí, si cambia cosas que hacer con el medio ambiente de la aplicación, tales como la adición de nuevas gemas a la Gemfile
, realizar cambios en cualquier cosa en config
o la adición de un nuevo plugin entonces necesitarás reiniciar la consola. Cualquier cambio a app
será recargable con reload!
Si estuviera usando esta manera particular de probar que un método estaba funcionando, no lo haría. Las variantes de prueba (como en, Test :: Unit o RSpec) son mucho más agradables porque tiene una forma reproducible de ejecutarlas una y otra vez. rails console
es ideal para pruebas únicas, pero si desea escribir una aplicación que se pueda mantener, escriba las pruebas.
Como señala Ryan, debe llamar de nuevo! para volver a cargar los cambios. También debe tener en cuenta que algunos cambios requieren que salga y vuelva a iniciar la consola. Estos cambios incluyen cosas como actualizar tus archivos de configuración o de entorno (no estoy seguro de cuál es la lista completa)
- 1. Recargue la consola de rieles
- 2. validación dinámica de rieles
- 3. Rails3 consola irb vs consola de rieles?
- 4. Cómo obtener buen formato en los rieles de la consola
- 5. Ejecutar migraciones desde la consola de rieles
- 6. Recargar ayudante de rieles consola
- 7. rieles entorno por defecto de la consola
- 8. rieles ActiveRecord encontramos en la consola
- 9. rieles consola no Cargando
- 10. Consola de rieles con palanca
- 11. rieles consola - utilizar image_tag método
- 12. Disposición de barra lateral dinámica con rieles
- 13. ¿la consola de los carriles con wirble?
- 14. rieles "script/consola" frente a "script/consola --sandbox"
- 15. ¿cómo puedo ejecutar un inicializador desde la consola de rieles?
- 16. ¿cómo recargo un modelo en la consola de rieles?
- 17. ¿Cómo obtener tiempo de ejecución en la consola de rieles?
- 18. rieles - Reorientación de salida de la consola a un archivo
- 19. Rieles Compruebe si la consola IRB o la página web
- 20. ¿La inflexión correcta de los rieles del subrayado es 'subrayar'?
- 21. Ruby 1.9.2 y Rails 3 no se pueden abrir los rieles de la consola
- 22. Gema disponible en la consola irb pero no en los rieles
- 23. ¿Anula los comandos de la consola symfony2?
- 24. definición constante dinámica en los carriles
- 25. Rieles: Compruebe la salida del asistente de ruta desde la consola
- 26. ¿Cuál es una buena manera de probar 'link_to' y otros ayudantes de visualización desde la consola de rieles?
- 27. Variables de instancia en los rieles Modelo
- 28. consola de rieles: muestra los resultados del registro activo en una tabla
- 29. ¿Cómo entrar a la consola de rieles en la producción a través de capistrano?
- 30. ¿Cómo puedo iniciar la consola de rieles y usar la base de datos de prueba exclusivamente?
Si cambias tus gemas o complementos, deberás salir y reiniciar la consola; 'reload!' no cubre este tipo de cosas. –
Aquí hay un caso que no es evidente. Digamos que f es una instancia de la clase Foo. Si cambias Foo, escribe 'reload!', E incluso 'f.reload', f.bar aún no se habrá actualizado. Debes reasignar a Foo. Al menos, así es como funciona para mí en OS X Lion usando RVM en Ruby 1.9.3p125 y Rails 3.2.0. – Aaron
@ Aaron, 'f' está en la memoria, por lo que no cambiará aunque cambie sus datos en la base de datos hasta que lo reasigne. – Ari