将类的持久实例存储在padrino/sinatra控制器中



我一直试图在padrino控制器中存储一个类的持久实例,但遇到了一些麻烦。我目前只是将它存储为一个类变量,但我收到了如下警告:

warning: class variable access from toplevel

我试着在网上查找解决方案,但它们涉及类方法,如class_variable_set或class_eval,控制器都没有(尽管它有等价的实例)。我是不是想做一些不该做的事?如何保持类的持久实例?我需要这样做b/c类会经常访问在线数据库并缓存内容。

所以显然Padrino控制器不是真正的类——我分配的类变量被放到了一些非常高级的类上,这就是我收到警告的原因。我解决这个问题的方法是创建一个singleton类,该类存储类变量并为它们提供getter。

最新更新