如何在 Rails 中为 Audited gem 添加打印方法?

How can I add a print method for Audited gem in Rails?

我在 Rails 应用程序中使用 gem Audited。我想创建一种打印审计记录的方法,这样我就可以获得用户更改的内容或对象上更改的内容的提要。目前,我在每个与 Audited 一起使用的对象上设置了一个名为 print_audit 的方法。但这似乎错得离谱。我想覆盖 Audit 模型上的 to_s 方法......但我不确定这样做的正确方法是什么......方法是否不正确,如果不正确,我将如何去做?

我使用了以下方法,因为我发现它更干净。

已添加文件: config/initializers/audited_additional_methods.rb

module Audited
  module Adapters
    module ActiveRecord
      class Audit < ::ActiveRecord::Base
        def to_s
          "Added my new to_s logic here"
        end
      end
    end
  end
end

现在有一种更直接的方法来完成此操作,正如官方文档中所定义的那样 here。这是将 to_s 添加到每个 Audit 实例的片段:

# config/initializers/audited.rb
class CustomAudit < Audited::Audit
  def to_s
    "This overrides the default to_s method!"
  end
end

Audited.config do |config|
  config.audit_class = CustomAudit
end