不适用于经过审核的 4.7 gem 更新模型

Posted

技术标签:

【中文标题】不适用于经过审核的 4.7 gem 更新模型【英文标题】:Doesn not work audited 4.7 gem for updating model 【发布时间】:2019-07-05 15:54:00 【问题描述】:

我是 Rails 新手,我使用 audited 4.7 gem 作为我的 rails 应用程序来跟踪记录器。我不知道如何向审计表记录添加评论。谢谢

宝石文件

gem "audited", "~> 4.7"

型号

class Client < ApplicationRecord

    audit

【问题讨论】:

【参考方案1】:
# add to your Gemfile, and run bundle install to install it
gem "audited"

# install table for audited gem operation
rails generate audited:install
rails db:migrate

# open your model that you want to audited
class Client < ApplicationRecord
  audit
end
# restart rails server

# how to check the action 
@client = Client.first
@audits = @client.audits
if @audits
  @audits.each do |audit| 
    if audit.user
      audit.user.username
      audit.action
    end
  end              
end

【讨论】:

感谢您的回答。在我的应用程序中审核了一个模型。但仅适用于插入和删除记录。我希望它也可以与更新一起使用。在默认审计模型中,有一列作为“评论”。我想为记录器添加自定义评论。谢谢 默认情况下我的理解审核也适用于更新,请参阅#how to check the action part in my answer,但之前您应该创建和更新一条记录,然后通过 audit.action 检查操作 谢谢,现在它也正在更新。如何添加评论? 我根据使用审计 gem 的经验回答了你上面的问题,以了解谁创建/更新模型,我不知道如何在审计中使用评论,对不起

以上是关于不适用于经过审核的 4.7 gem 更新模型的主要内容,如果未能解决你的问题,请参考以下文章

使用 rails audited gem 根据已审核的更改过滤掉结果

无法使用 PaperTrail gem 记录关联的审核日志

SQL Server 数据库审核不适用于系统管理员用户

审核的 Gem current_user 方法不起作用

使用 Audited gem 在 Rails 5.2 应用程序中在哪里列出未审核的列?

ActionController::InvalidAuthenticityToken Rails 5 / 设计 / 审核 / PaperTrail gem