类已缓存,甚至cache_class = false

时间:2012-08-08 14:42:25

标签: ruby-on-rails ruby-on-rails-3.2

我将我的development.rb配置为不是cache_class,但为什么它仍然缓存并且在我进行更改时没有更新,例如添加binding.pry和puts,除非我再次按ctrl + c和rails。

我主要在类EditorHub :: ArticlesController中进行开发,也许是因为命名空间?

知道为什么会这样吗?

rails s
=> Booting WEBrick
=> Rails 3.2.2 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server


#development.rb
CMS::Application.configure do
  config.cache_classes = false
end

#application.rb

config.autoload_paths += %W(#{config.root}/lib)

1 个答案:

答案 0 :(得分:1)

有关您所做的确切更改的更多详细信息可能会有所帮助,但一般情况下,应对每个请求重新加载模型文件夹中的类进行更改,并且您的方法是正确的。许多其他文件夹的更改都在您的加载路径中,因此它们也将被重新加载,但不是全部。您可以通过更改加载路径来解决此问题,但这可能比简单的ctrl-c和重新启动更有效。

我认为这不会起作用,但你可以把它放在课堂上而不是重新加载..

Rails.application.eager_load!

问题是,你绝对可以让课程在开发中重新加载。我一般认为这样做的努力不值得受益。