如何在 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
我在 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