Vous pouvez utiliser la méthode de classe increment_counter
:
Customer.increment_counter :counter, customer
Cela créera quelque chose comme :
UPDATE `customers` SET `counter` = COALESCE(`counter`, 0) + 1 WHERE (`customers`.`id` = 53)
(vous devez passer soit un identifiant soit une instance de la classe dans cette méthode (customer
) contrairement à customer.increment!(:counter)
méthode qui n'est pas atomique)