Estoy tratando de aprovechar la función de contador de caché de los rieles pero no puedo captarla por completo.Rails Counter Cache y su implementación
Supongamos que tenemos 3 modelos
A B C
A pertenece a B o C dependiendo de un campo key_type y id_clave. key_type dice si A pertenece a B o C de modo que si key_type = "B" entonces el registro pertenece a B de lo contrario, pertenece a C.
En mi modelo a.rb, he definido siguientes asociaciones:
belongs_to :b, :counter_cache => true, :foreign_key => "key_id"
belongs_to :c, :counter_cache => true, :foreign_key => "key_id"
y
en B y C archivos de modelo
has_many :as , :conditions => {:key_type => "B"}
has_many :as , :conditions => {:key_type => "C"}
Tanto B y C modelos tienen una columna como as_count
El problema es que cada vez que se crea un objeto de a se aumenta el conteo tanto en los modelos byc.
Cualquier ayuda es apreciada. Inicialmente pensé que esto podría funcionar:
belongs_to :b, :counter_cache => true, :foreign_key => "key_id", :conditions => {:key_type => "B"}
belongs_to :c, :counter_cache => true, :foreign_key => "key_id", :conditions => {:key_type => "C"}
Pero esto no ayuda.
Gracias
Esto no se debe etiquetar con "griales". – Fletch