title: Why reload when using Model.increment_counter in Rails?
body: <p>I am using <code>Model.increment_counter(:c, 11)</code> in order to avoid race conditions when incrementing a column (See related: <a href="https://stackoverflow.com/questions/11910974/how-do-i-consistently-increase-a-counter-cache-column">How do I consistently increase a counter cache column?</a>)</p>
  
  <p>I notice however that for the following code:</p>
  
  <pre><code>@order = Order.find(11)
  p @order.c # This prints 4
  Order.increment_counter(:c, 11)
  p @order.c # This still prints 4
  @order.reload
  p @order.c # This prints 5
  </code></pre>
  
  <p>Why is it necessary to reload the object after doing the update? Why does AR not show that change directly?</p>