Frage

Ich habe eine Rails-Anwendung, die STI verwendet verschiedene Arten von Benutzern zu handhaben, wie zum Beispiel:

class Admin < User
  ...
end

Ich mag Memcached verwenden, aber ich halte den gefürchteten „unbekannte Klasse / Modul“ Fehler. Ich habe Vorbelastung versucht alle meiner Active Modelle ohne Erfolg. Die erste Anforderung arbeitet als normal, aber der erste Zug von Memcached Fehlern aus. Ich habe gefolgt diese Anweisungen entweder ohne Erfolg .

wird unter Verwendung von Memcached möglich mit einzelner Tabelle Vererbung?

War es hilfreich?

Lösung

Ich denke, dies ist darauf zurückzuführen, verzögertes Laden der Klassen. Wenn Sie es von Memcached die Klassendefinition nennen nicht geladen wird, und dann erhalten Sie den Fehler.

Die Abhilfe, die ich verwenden ist:

Admin #lazily load the class definition

# do whatever that has cached Admins

Andere Tipps

Das Problem war, dass restful_authentication der login_from_session Methode geladen wurde, bevor der vorgenannten before_filter ausgeführt wurde. Pre-Laden der STI Benutzerklassen an der Spitze dieser Methode gearbeitet.

nur ein kurzer Kommentar, ich habe gelesen, dass require_dependency ‚admin‘ mit jetzt bevorzugt wird, nicht sicher, warum

require_dependency 'region'

Auch ich habe festgestellt, dass dies nicht notwendig ist, wenn Sie fügen

config.cache_classes = true

Ihren production.rb (oder development.rb zum Testen), dies scheint alle Modelle für das Caching zu fangen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top