我有一个使用STI来处理不同类型的用户,比如Rails应用程序:在带单表继承的Rails应用中使用memcached?
class Admin < User
...
end
我想使用memcached的,但我不断收到可怕的“未知的类/模块”的错误。我试过预加载所有我的ActiveRecord模型无济于事。第一个请求正常工作,但第一次从memcached中取出错误。我跟着these instructions也无济于事。
正在使用memcached单表继承可能吗?
我有一个使用STI来处理不同类型的用户,比如Rails应用程序:在带单表继承的Rails应用中使用memcached?
class Admin < User
...
end
我想使用memcached的,但我不断收到可怕的“未知的类/模块”的错误。我试过预加载所有我的ActiveRecord模型无济于事。第一个请求正常工作,但第一次从memcached中取出错误。我跟着these instructions也无济于事。
正在使用memcached单表继承可能吗?
我认为这是由于lazy loading的类。当你从memcached中调用它时,类定义没有被加载,然后你得到错误。
我使用的解决方法是:
Admin #lazily load the class definition
# do whatever that has cached Admins
的问题是,上述的before_filter运行前被装载restful_authentication的login_from_session方法。在此方法的顶部预加载STI用户类。
只是一个快速评论,我读过,使用require_dependency“管理员”现在首选,不知道为什么
require_dependency 'region'
而且,我发现,如果添加这是不必要的
config.cache_classes = true
到您的production.rb(或用于测试的development.rb),这似乎捕获所有缓存模型