Вы можете использовать обратные вызовы ActiveRecord для запуска логики при изменении состояний, например, перед сохранением объекта в базе данных.Столбцы create_at и updated_at автоматически обновляются при создании объекта (before_create) или обновлении (before_save).Вы можете определить свои собственные обратные вызовы, используя методы класса, определенные в пространстве имен ActiveRecord :: Callbacks.Примером может быть
# app/models/example.rb
class Example < ActiveRecord::Base
before_save :do_something
def do_something
self.value = value
end
end
Если вы специально хотите записать пользователя, который создал, обновил или удалил запись, вы можете сохранить некоторую работу и использовать плагин Usertamps Rails для автоматической записи пользователя.Этот плагин расположен по адресу https://github.com/delynn/userstamp
# app/models/example.rb
class Example < ActiveRecord::Base
model_stamper
end
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
include Userstamp
end
. Вам нужно будет добавить столбцы меток пользователей на каждую модель, для которой вы хотите записать действия пользователя.
Дополнительная информация о обратных вызовах ActiveRecordможно найти здесь: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
Информацию о метках времени можно найти здесь: метки времени ActiveRecord: http://api.rubyonrails.org/classes/ActiveRecord/Timestamp.html