私はActiveRecordのことを知っています...しかし、の代わりにincrement_counter
何かをインクリメントする必要があります。0.5
1
何かのようなもの:User.increment_counter(:credits_count, RECORD_ID, 0.5)
簡単にインクリメントするための何らかのヘルパー/方法はあります0.5
か?または、レコードをプルして現在のカウントを取得し、0.5
そのカウントに追加して保存する必要がありますか?
私はActiveRecordのことを知っています...しかし、の代わりにincrement_counter
何かをインクリメントする必要があります。0.5
1
何かのようなもの:User.increment_counter(:credits_count, RECORD_ID, 0.5)
簡単にインクリメントするための何らかのヘルパー/方法はあります0.5
か?または、レコードをプルして現在のカウントを取得し、0.5
そのカウントに追加して保存する必要がありますか?
オブジェクトのすべての読み込みを高速化したくない場合は、update_all を使用します。
def self.increment_float(user_id,counter,value)
User.update_all("#{counter} = #{counter} + #{value}",{:id => user_id})
end
update_all は where 条件 (この場合は id == user_id) に一致するすべてのものを更新するため、注意してください。確認する前にいくつかのテストを実行する必要があるかもしれません。