Bạn có thể sử dụng phương thức lớp increment_counter
:
Customer.increment_counter :counter, customer
Điều đó sẽ tạo ra một cái gì đó giống như:
UPDATE `customers` SET `counter` = COALESCE(`counter`, 0) + 1 WHERE (`customers`.`id` = 53)
(bạn phải chuyển một id hoặc một phiên bản của lớp vào phương thức này (customer
) không giống như customer.increment!(:counter)
phương thức không phải là nguyên tử)