我想将Rails服务器作为守护程序运行,以便其他人在我不在时可以继续访问服务器。
但是,如果我从rails s -d
开始并拥有config.cache_classes = false
,则会收到以下错误消息:
uninitialized constant Template::TemplateScope
这里的TemplateScope
是module
extend ActiveSupport::Concern
Template
是普通的class
,include TemplateScope
但是,如果我以rails s -d
开始config.cache_classes = true
,就可以正常工作。
在rails documentation about configuration中,它说:
config.cache_classes控制是否应在每个请求上重新加载应用程序类和模块。在开发模式下默认为false,在测试和生产模式下默认为true。
这意味着在这种情况下,停止对每个请求的重新加载可以解决问题,但这没有道理:为什么要停止对每个请求的重新加载来解决问题?只要加载资源就没有关系。有什么我不知道发生的事吗?
我在不使用守护程序选项的情况下也运行rails s
,并且也运行了config.cache_classes = false
,它运行良好。因此,这意味着守护程序导致了问题。
但是,我不知道在哪里可以找到守护程序的文档,所以我来这里询问是否有人知道发生了什么,因为我一直在努力理解。如果您也知道文档的位置,请指向我。