모델에 has_many 연관이있는 'orders'및 'items'테이블이 있습니다.연관에서 일부 필드의 트랙 합계 - "sum_cache"
class Order < ActiveRecord::Base
has_many :items
class Item < ActiveRecord::Base
belongs_to :order
항목은 '수량'필드로 구성되며, 주문은 'quantity_sum'필드로 구성되어 관련 항목의 합계를 추적합니다. 예를 들어
: 나는 주문의 새로운 항목이 추가 될 때마다/수정/삭제 필드 'quantity_sum'가 자동으로 업데이트됩니다 있도록 방법을 찾고있다
Order 1 : name='Toms shopping cart', quantity_sum=12
Item 1 : name='T-shirt', quantity=10
Itme 2 : name='Shoes', quantity=2
. 현재 Item의 after_save 메소드를 사용하여 Order의 'quantity_sum'필드를 업데이트하고 있습니다.
'after_save'외에도 이렇게하는 방법이 있습니까?
연관 개수를 추적하는 "counter_cache"와 비슷하게, 레일스는 연관의 일부 필드의 합계를 자동으로 추적 할 수 있습니까?
감사
콜백 메서드가 올바른지 : 진정한 http://stackoverflow.com/a/5334639/8843 – tal