2009-01-14 28 views
1

我有一個使用STI來處理不同類型的用戶,比如Rails應用程序:在帶單表繼承的Rails應用中使用memcached?

class Admin < User 
    ... 
end 

我想使用memcached的,但我不斷收到可怕的「未知的類/模塊」的錯誤。我試過預加載所有我的ActiveRecord模型無濟於事。第一個請求正常工作,但第一次從memcached中取出錯誤。我跟着these instructions也無濟於事。

正在使用memcached單表繼承可能嗎?

回答

1

我認爲這是由於lazy loading的類。當你從memcached中調用它時,類定義沒有被加載,然後你得到錯誤。

我使用的解決方法是:

Admin #lazily load the class definition 

# do whatever that has cached Admins 
0

的問題是,上述的before_filter運行前被裝載restful_authentication的login_from_session方法。在此方法的頂部預加載STI用戶類。

0

只是一個快速評論,我讀過,使用require_dependency「管理員」現在首選,不知道爲什麼

require_dependency 'region' 

而且,我發現,如果添加這是不必要的

config.cache_classes = true 

到您的production.rb(或用於測試的development.rb),這似乎捕獲所有緩存模型