Audited Serialize

Gem Version

Гем для сериализации аудит-логов на базе Audited.

Установка

Добавить в Gemfile

gem 'audited-serialize'

И выполнить:

bundle

Использование

Для вызова сериализованного списка изменений вызовите метод .changes_list на экземпляре audit-класса (по умолчанию - Audited::Audit)

audit = Audited::Audit.first
audit.changes_list

Заголовки связанных записей

При наличии в аудит-логах полей, содержащих ID связанных сущностей, по умолчанию будет отображено название (поле name) этой сущности. При отсутствии у сущности поля name или необходимости отображения значения другого поля можно задать название этого поля в модели

# app/models/user.rb

class User < ApplicationRecord

  audit title: :email

end

Конфигурация

Изменение настроек сериализации осуществляется путем редактирования стандартного файла конфигурации Audited

# config/initializers/audited.rb

Audited.config do |config|

end

Исключения

Для добавления исключений для полей сущностей, которые не будут отображаться в списке добавьте в конфиг serialization_exceptions.

# config/initializers/audited.rb

Audited.config do |config|

  config.serialization_exceptions = {
    'User' => ['role']
  }

end