2011-04-12 95 views
0

OrderItem的觀察者doenst更新OrderItem的,當計算總和:(( 什麼是錯的ROR觀察不起作用

class OrderItemObserver < ActiveRecord::Observer 
    def after_save(order_item) 
     order_item.order.total_sum = order_item.order.order_items.collect{|i| i.price.to_i}.sum  
    end 
end 

在application.rb中

config.active_record.observers = :order_observer, :order_item_observer 
+0

嗨zakusha,你可以把你的發展日誌,當你保存order_item? – Awea 2011-04-12 21:18:07

回答

0

結果被進行計算,然後丟棄上市你不保存結果

class OrderItemObserver < ActiveRecord::Observer 
    def after_save(order_item) 
     order = order_item.order 
     order.total_sum = order.order_items.collect{ |i| i.price.to_i }.sum 
     order_item.save 
    end 
end 

現在保存數值order變量只是爲了整理一些東西。

+0

非常感謝,現在一切正常。我錯誤地認爲回調激活自己保存的記錄 – kashlo 2011-04-23 11:51:54