0

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

我主要在 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)
4

1 回答 1

1

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

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

Rails.application.eager_load!

问题是,你绝对可以让类在开发中重新加载。我通常认为这样做的努力是不值得的。

于 2012-08-08T16:20:41.477 回答