递增:
increment
increment_counter
update_counters
递减:
decrement
decrement_counter
测试代码,以递增为例:
def test
=begin
@p = Person.find(1)
@p.increment :count, 1
@p.save
=end
=begin
Person.increment_counter :count, 1
@p = Person.find(1)
=end
Person.update_counters(1, :count => 50)
@p = Person.find(1)
end
这里我们不建议用increment,因为他很可能会引起 race condition
参考资料:http://www.manic.tw/blog/post/25272174-%5Brails%5D%5Bmodel%5Dcounter-increment(decrement)