Tengo tablas 'pedidos' y 'artículos' con la asociación has_many en el modelo.Rastrear la suma de algunos campos en la asociación - "sum_cache"
class Order < ActiveRecord::Base
has_many :items
class Item < ActiveRecord::Base
belongs_to :order
artículo consta de campo 'cantidad', y Orden consta de campo 'quantity_sum' para realizar un seguimiento de la cantidad suma elementos asociados.
Por ejemplo:
Order 1 : name='Toms shopping cart', quantity_sum=12
Item 1 : name='T-shirt', quantity=10
Itme 2 : name='Shoes', quantity=2
He estado buscando una manera de modo que cada vez que se añade el nuevo artículo/editar/borrar, el campo 'quantity_sum' de la Orden se actualiza automáticamente. Actualmente he estado usando el método after_save en Item, para actualizar el campo 'quantity_sum' de Order.
¿Hay alguna otra manera ordenada de hacer esto además de 'after_save' ???
Similar a "counter_cache" para rastrear el recuento de asociaciones, ¿los raíles tienen soporte para realizar un seguimiento automático de la suma de algunos campos en la asociación?
Gracias
el método de devolución de llamada es correcta: http://stackoverflow.com/a/5334639/8843 – tal