2009-04-20 3 views
0

Ich habe ein Modellobjekt, auf dem vorher kein Zähler-Cache war, und ich habe es über eine Migration hinzugefügt. Die Sache ist, ich habe versucht und konnte nicht den Startwert des Counter-Caches basierend auf der Anzahl der untergeordneten Objekte setzen, die ich bereits in der Migration hatte. Jeder Versuch, den Cache-Wert zu aktualisieren, wurde nicht in die Datenbank geschrieben. Ich habe sogar versucht, es von der Konsole aus zu tun, aber es würde nie passieren. Jeder Versuch, direkt auf diesen Wert auf dem übergeordneten Element zu schreiben, wurde ignoriert.Wie legen Sie den Wert eines neu hinzugefügten ActiveRecord-Zähler-Cache fest?

Durch die Änderung der Anzahl der untergeordneten Elemente wurde der Zählercache aktualisiert (und das Entfernen des ": counter_cache => true" vom untergeordneten Element würde den Wert für das übergeordnete Element aktualisieren). Aber das ist Betrug. Ich musste in der Lage sein, den Zähler-Cache hinzuzufügen und dann seinen Startwert auf die Anzahl der untergeordneten Elemente in der Migration festzulegen, damit ich dann mit korrekten Werten für Seiten beginnen konnte, die es anzeigen würden.

Was ist die richtige Vorgehensweise, damit ActiveRecord mich nicht überschreibt?

Antwort

Verwandte Themen