我将我的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)
答案 0 :(得分:1)
有关您所做的确切更改的更多详细信息可能会有所帮助,但一般情况下,应对每个请求重新加载模型文件夹中的类进行更改,并且您的方法是正确的。许多其他文件夹的更改都在您的加载路径中,因此它们也将被重新加载,但不是全部。您可以通过更改加载路径来解决此问题,但这可能比简单的ctrl-c和重新启动更有效。
我认为这不会起作用,但你可以把它放在课堂上而不是重新加载..
Rails.application.eager_load!
问题是,你绝对可以让课程在开发中重新加载。我一般认为这样做的努力不值得受益。