Auparavant, cela fonctionnait bien. Je joue à peu config. Alors peut-être que j’ai changé de configuration sans le savoir.
voici la configuration de environment/development.rb
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_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'
Voici la section de configuration de 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
quand je lance reload! on Rails la console retourne vrai
reload!
ne recharge que le dernier code dans l'environnement de la console. Il ne réinitialise pas les objets existants.
Cela signifie que si vous avez déjà instancié des objets, leurs attributs ne seront pas mis à jour, y compris les nouvelles validations introduites. Toutefois, si vous créez un nouvel objet, ses attributs (ainsi que ses validations) refléteront le code rechargé. plus ici
Rechargez-vous l'objet à partir de la base de données?
Par exemple:
>> a = User.last
=> #<User id: 16, email: "[email protected]">
>> reload!
Reloading...
=> true
"a" ne reflétera pas les modifications apportées à votre modèle tant que vous ne l'avez pas rechargé depuis la base de données.