Мне нужен столбец временной метки, который обновляется только при обновлении определенных полей, например, если имя продукта изменяется, поле attributes_updated_at должно быть обновлено с помощью Time.now. Я не хочу, чтобы поле было обновлено в случае добавления ассоциации внешних ключей или если product.status
изменяется с 'pending'
на 'active'
.Как обновить временную метку только при обновлении некоторых атрибутов?
Есть ли способ определить это просто в модели?
вы можете просто использовать в 'before_save' так для обновления и сохранения' Model.record_timestamps = ложь, если product.status .changed? || self.association_id.changed? ' –
@RajarshiDas, это похоже на большое предложение. Можете ли вы посоветовать мне, как я могу это использовать? Это определение уровня класса? –
Пусть пользовательская модель вам нужно написать 'before_save: stop_update_time_stamps', а затем написать метод' def stop_update_time_stamp User.record_timestamps = false, если product.status.changed? || self.association_id.changed? end' вот так –