2012-03-20 56 views
0

一類對象Item有一個基於其屬性的附加分數。我需要不斷(理想情況下,當任何一個對象的屬性的改變)應用calculate_ranking方法Item類和高效地計算這個分數:什麼是持續更新和跟蹤對象得分的最有效方式?

Item.all.each do |i| 
    Item.update_counters i.id, :score_count => i.calculate_ranking 
end 

我一直在使用attr_accessor嘗試:分數(加分後列項目表)和after_initialize:calculate_ranking然而它沒有工作。即使'Score'不是它自己的獨立模型,是否可以應用自定義計數器緩存來實現這一點?也就是說,不包括:Class Score; counter_cache => true;結束。

+0

AR對象?嘗試一個鉤子,就像after_save一樣。 – Reactormonk 2012-03-20 18:15:04

回答

相關問題