2013-01-24 50 views
0

我知道ActiveRecord的increment_counter ...但我需要增加一些0.5而不是1遞增計數0.5?

喜歡的東西:User.increment_counter(:credits_count, RECORD_ID, 0.5)

是否有某種幫手/法的通過0.5容易遞增?或者我必須拉出記錄,獲取當前計數,然後將0.5添加到該計數並保存?

回答

0

如果你不希望對象的所有負載,使其更快,使用update_all

def self.increment_float(user_id,counter,value) 
    User.update_all("#{counter} = #{counter} + #{value}",{:id => user_id}) 
end 

自update_all更新所有匹配where條件的東西(在此c中ase id == user_id),也許你想在確定之前做一些測試