问题标签 [acts-as-audited]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
117 浏览

ruby-on-rails-5 - ruby gem audited 不记录 created_at 和 updated_at

  • 红宝石“2.6.3”
  • 宝石“审核”,“4.8.0”
  • 宝石“pg”,“0.18.4”

我需要能够:

  1. 按日期范围搜索修订
  2. 按日期范围搜索所有审计,然后获取每条记录的最新记录

目前,created_at 和 updated_at 列的记录修订版本为零。我可以report.revision_at(yesterday)但不是日期范围

所以我试着调查审计。我正在对它们进行分组auditable_id,看起来它是按记录分组的。然后我得到最新的。但这仅向我展示了更改的内容:

理想情况下,我想做这样的事情来获得我正在寻找的时间范围之间的最新修订

这是我查看report.revisions 时得到的信息。如您所见, created_at 在查看修订版时返回 nil :

Report 表中的原始记录确实有 created_at 和 updated_at:

0 投票
0 回答
52 浏览

java - 如何仅在 *.AUD 表而不是实体中添加特定列?

我有一张桌子和这张桌子的澳元表。但是 Aud 表有两个额外的列,例如“Inserted_Date”和“Insert_By”。主表没有这两列。“Inserted_Date”列包括 AUD 表的插入时间。“Insert_By”列包含用户信息。我手动将这些列添加到 AUD 表实体中,但该实体没有为这些列插入任何值。始终插入空值。

另外,我编写了休眠插入查询,但这些额外的列不在列中。

0 投票
3 回答
92 浏览

ruby-on-rails - make rake db:create 设置除开发、测试或生产之外的另一个数据库

我正在使用 rails 4.2 并尝试按照第二种数据库方法配置(在已经建立的应用程序中) Audited Gem 。

我的 config/database.yml 文件如下:

除了开发、测试或生产之外,我打算让它为另一个数据库工作。但是,该任务rake db:create仅创建我的开发和测试数据库。这可以在我的 Rails 版本中完成吗?

注意试听数据库的新名称

0 投票
1 回答
270 浏览

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

我正在发现 Audited gem,它可以轻松地为我的应用程序带来审计。但我仍然对审核用户身份验证相关活动(由 Devise 提供)存有疑问。

至少我想从属于用户模型的日志身份验证相关列中删除。我试过:

但我不确定该声明在哪里?它在应用程序控制器中没有效果,并且在 Audited intializer 中时服务器无法启动,因为 Devise 缺少类。

这种类型的配置应该在哪里进行?谢谢你的帮助!

编辑:要审核所有模型,我实际上在 ApplicationRecord 类定义中插入了“已审核”语句:

现在,根据 Hazhir 和 Widjajayd 的建议,我尝试在 User 模型中覆盖它:

因此,当仅在用户模型中需要“审核”时,包括异常列表,它会按预期工作。但是当在 ApplicationRecord 中声明并在 User 模型中覆盖时,异常将被忽略。

您能否推荐一种有效的语法来覆盖“已审核”,包括列异常?

或者您会建议对每个相关模型分别应用“审计”吗?

非常感谢你的帮助!

0 投票
1 回答
201 浏览

ruby-on-rails - Audited Gem:通过多个关系进行跟踪

寻找正确的设置方法audited associated_withhas_associated_audits在我的模型中更容易跟踪。

设置:出版商与作者拥有独家经销商。一个作者可以写很多本书。一本书可以有很多作者。一本书有一种类型的书籍装订。一本书装订可以有很多本书。

目标:我希望能够调用 Publisher.find(1).associated_audits 让所有人一举失败。

目前我可以打电话Publisher.find(1).associated_audits,这给了我对 Author 的相关审计。

对于我做的书:Book.joins(:audits).references(:audits).joins(:authors).where(authors: {publisher_id: 1}).map(&:audits)

对于 BookBindingType 我做Book.joins(:audits).references(:audits).joins(:authors).where(authors: {publisher_id: 1}).map(&:audits)

正如您可以猜到的最后两个查询,同时考虑到时间复杂性......当我开始拥有更多记录时,它们仍然需要一些时间来运行。

问题:如何设置????已审核 gem 的部分以进行跟踪。我知道审计表的多态设置只允许它一次跟踪一个关联记录。那么它甚至可能吗?

0 投票
0 回答
57 浏览

ruby-on-rails - Rails 审核了某些字段的更新和其他字段的所有回调

对于 Rails 中已审核的 gem,有没有办法审核所有回调中的某些字段和仅更新回调中的某些字段?

0 投票
1 回答
68 浏览

ruby-on-rails - 已审核的宝石 添加关于销毁的评论

我已经实施了 Audited 并且一切正常。我唯一不知道的是如何在删除记录时添加“audit_comment”。我可以在更新或创建时成功添加它,但我没有看到任何可以让我在删除时添加评论的东西。

我的示例是我可以直接删除记录,也可以通过相关关联的回调将其删除。所以我想根据情况在审核中添加评论...“直接由用户删除”或“通过父删除删除”

我是否遗漏了审计文件中的某些内容?

0 投票
0 回答
22 浏览

ruby-on-rails - 已审核的 gem user_id 始终为空

我使用一个名为 Audited 的 gem 将所有活动记录的差异存储在我的 rails API 应用程序中。但是有一个问题,它无法跟踪当前用户。因为我使用 devise gem 登录。我的身份验证方法是 authenticate_api_v1_user!。所以我Audited.current_user_method = :current_api_v1_user在 config/initializers/audited.rb> 中放了一个 > 但它不起作用,审计对象中的 user_id 仍然为空

更新: 对不起,我的错。由于它在初始化程序中,因此您需要重新启动您的 Rails 服务器

0 投票
1 回答
19 浏览

ruby-on-rails - 在审核记录中添加自定义属性

我想在审核日志中添加自定义属性,例如first_name, last_name使用审核的 gem。知道如何更新自定义属性的值吗?

我的用户模型包含这两个属性

0 投票
1 回答
37 浏览

ruby-on-rails - User_id 和 user_type 使用 gem 审核为 NULL

我对已审核的 gem 有疑问。这是两个问题合而为一。我在我的应用程序中安装并配置了审核的 gem,但是当我删除数据库并再次运行 migrate 和 seed 时,数据库中的 user_id 和 user_type 字段另外为 NULL,当我通过 devise sign_up (new_registration_path) 注册用户时 user_id和 user_type 也在数据库中注册为 NULL,这会导致错误,如图像或此处所示:

在此处输入图像描述

错误行是这样的:

在此处输入图像描述

我已经在我的 Audity 模型中放入了一个 belongs_to optional: true,但错误仍然存​​在。

我的应用程序在我的 github 上: https ://github.com/eltonsantos/auth-rails

如何解决此错误?我认为的解决方案是在运行种子或注册新用户时,运行 after_save 或 after_create 在 user_id 字段中放置一些默认 id(可能是他自己的 id),但我不确定这是否是最佳解决方案。