当将Rails Server作为守护程序运行时,是否需要将cache_classes设置为true?

时间:2018-07-05 01:24:26

标签: ruby-on-rails module server configuration daemon

我想将Rails服务器作为守护程序运行,以便其他人在我不在时可以继续访问服务器。

但是,如果我从rails s -d开始并拥有config.cache_classes = false,则会收到以下错误消息:

uninitialized constant Template::TemplateScope

这里的TemplateScopemodule

extend ActiveSupport::Concern

Template是普通的classinclude TemplateScope

但是,如果我以rails s -d开始config.cache_classes = true,就可以正常工作。

rails documentation about configuration中,它说:

  

config.cache_classes控制是否应在每个请求上重新加载应用程序类和模块。在开发模式下默认为false,在测试和生产模式下默认为true。

这意味着在这种情况下,停止对每个请求的重新加载可以解决问题,但这没有道理:为什么要停止对每个请求的重新加载来解决问题?只要加载资源就没有关系。有什么我不知道发生的事吗?

我在不使用守护程序选项的情况下也运行rails s,并且也运行了config.cache_classes = false,它运行良好。因此,这意味着守护程序导致了问题。

但是,我不知道在哪里可以找到守护程序的文档,所以我来这里询问是否有人知道发生了什么,因为我一直在努力理解。如果您也知道文档的位置,请指向我。

0 个答案:

没有答案