Console Rails: ricarica! non riflette i cambiamenti nei file di modello? Quale potrebbe essere la ragione ansible?

In precedenza funzionava bene. Ho giocato un po ‘di config. Quindi potrebbe essere che ho cambiato alcune configurazioni inconsapevolmente.

ecco la configurazione di environment / development.rb

config.cache_classs = 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_view.debug_rjs = 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 # migration prefix with sequence #s config.active_record.timestamped_migrations = false #time zone config.time_zone = 'UTC' 

Ecco la sezione di configurazione di application.rb

  # Configure the default encoding used in templates for Ruby 1.9. config.encoding = "utf-8" # Configure sensitive parameters which will be filtered from the log file. config.filter_parameters += [:password] config.active_record.schema_format = :sql 

quando eseguo la ricarica! su console rails restituisce true

reload! ricarica solo l’ultimo codice nell’ambiente della console. Non reinizializza oggetti esistenti.

Ciò significa che se hai già istanziato oggetti, i relativi attributi non verranno aggiornati, incluse le convalide introdotte di recente. Tuttavia, se si crea un nuovo object, i suoi attributi (e anche le convalide) rifletteranno il codice ricaricato. di più qui

Stai ricaricando l’object dal database?

Per esempio:

 >> a = User.last => # >> reload! Reloading... => true 

‘a’ non rifletterà alcuna modifica al tuo modello finché non lo ricarichi dal db.