Консоль Rails: перезагрузите! не отражает изменения в файлах моделей? Какая может быть причина?
Раньше он работал нормально. Я немного играл в конфигурацию. Так может быть, я изменил какую-то конфигурацию неосознанно.
здесь находится config 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'
Вот раздел конфигурации приложения .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
когда я запускаю перезагрузку! on rails console it return true
Ответы
Ответ 1
reload!
только перезагружает последний код в среде консоли. Он не повторно инициализирует существующие объекты.
Это означает, что если вы уже создали какие-либо объекты, их атрибуты не будут обновляться. Однако, если вы создадите новый объект, его атрибуты будут отражать перезагруженный код.
подробнее здесь
Ответ 2
Вы перезагружаете объект из базы данных?
Например:
>> a = User.last
=> #<User id: 16, email: "[email protected]">
>> reload!
Reloading...
=> true
'a' не будет отражать каких-либо изменений в вашей модели, пока вы не перезагрузите ее из db.