Rails控制台:重新加载! 没有反映模型文件的变化? 有什么可能的原因?
此前它工作正常。 我一直在玩一点点configuration。 所以可能是我在不知不觉中改变了一些configuration。
这里是environment / development.rb的configuration
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'
这里是application.rb的configuration部分
# 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
当我运行重装! 在轨道控制台它返回true
reload!
只能在控制台环境中重新加载最新的代码。 它不重新初始化现有的对象。
这意味着如果你已经实例化任何对象,它们的属性将不会被更新。 但是,如果您创build一个新对象,则其属性将反映重新加载的代码。 这里更多
你是从数据库重新加载对象?
例如:
>> a = User.last => #<User id: 16, email: "asdfadsf@sdfdsf.com"> >> reload! Reloading... => true
'a'不会反映你的模型的任何改变,直到你从数据库重新加载它。