Můžete použít metodu třídy increment_counter
:
Customer.increment_counter :counter, customer
To vytvoří něco jako:
UPDATE `customers` SET `counter` = COALESCE(`counter`, 0) + 1 WHERE (`customers`.`id` = 53)
(do této metody musíte předat buď id, nebo instanci třídy (customer
) na rozdíl od customer.increment!(:counter)
metoda, která není atomová)