Я ищу способ передачи параметров для уничтожения, чтобы регистрировать, какой пользователь отвечает за уничтожение записи.
У каждой модели, которую я использую, есть соответствующая таблица истории, в которую я записываю журнал каждый раз, когда запись сохраняется, все параметры записи и какой пользователь вызывал ее сохранение. Я хочу убедиться, что я делаю то же самое при уничтожении записи.
Для сохранения я просто переопределил метод save
с помощью save(user_id, source)
, так как я не использую никаких обратных вызовов before_save
. С помощью destroy я хочу сохранить обратные вызовы (has_many :submodel, dependent: destroy
), при этом сохраняя логирование.
В идеале у меня может быть что-то вроде следующего:
def destroy(user_id, source)
self.transaction do
#destroy all associations, using same user_id and source
self.log_descruction(user_id, source)
#destroy self
end
end
Есть предложения?