ruby on rails - software - El servidor Rails necesita reiniciarse cada vez que realizo cambios? ¿por qué?
ruby on rails software (4)
Hay una buena nota para los usuarios de VirtualBox , publicada como comentario por el usuario Ninjaxor:
Para los usuarios de Vagrant / caja virtual, hay un error en el que si el reloj del servidor y el reloj del invitado no están sincronizados, se carga el recargador de los rieles. github.com/rails/rails/issues/16678
El archivo Vagrantfile
se encuentra en un directorio como este: .../ruby/gems/sass-3.4.22/vendor/listen
Ahí tienes que agregar esto:
# Sync time every 5 seconds so code reloads properly
config.vm.provider :virtualbox do |v|
v.customize ["guestproperty", "set", :id, "--timesync-threshold", 5000]
end
¡Gracias al usuario axsuul en GitHub!
Cada vez que cambio algo en el controlador o en modelos, tengo que reiniciar el servidor para que tenga efecto. Pero ese no era siempre el caso, solía funcionar normalmente antes, cuando cambiaba algo, pero no sé Que ha pasado ahora ?
La versión de My Rails es 3.2.11
En mi archivo de entorno de desarrollo he configurado config.cache_classes = false.
Por favor ayuda..
Mi archivo development.rb es el siguiente
Testapp::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# In the development environment your application''s code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don''t have to restart the web server when you make code changes.
config.cache_classes = false
# Log error messages when you accidentally call methods on nil.
config.whiny_nils = true
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# Don''t care if the mailer can''t send
config.action_mailer.raise_delivery_errors = false
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
# Only use best-standards-support built into browsers
config.action_dispatch.best_standards_support = :builtin
# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict
# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
config.active_record.auto_explain_threshold_in_seconds = 0.5
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
config.action_mailer.default_url_options = { :host => ''localhost:3000'' }
end
Noté esa configuración
config.cache_classes = false
es lo que hizo el truco para mí.
Tengo la respuesta ...
Después de agregar la siguiente línea en mi archivo config/environments/development.rb
mi problema se ha resuelto.
config.reload_classes_only_on_change = false
inicia tu servidor usando el comando debajo de la consola
rails server -e development
si no se ha iniciado, proporcione la versión de los rieles y el servidor que utiliza para la aplicación Run Rails.
más Configuración
modifique su archivo config/environments/development.rb
a:
config.serve_static_assets = false