递增:
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)
本文介绍了Rails中模型计数器的递增和递减操作,并提供了具体的测试代码示例。文章强调了避免使用increment方法的原因,因为它可能导致竞态条件问题。
1877

被折叠的 条评论
为什么被折叠?



