问题标签 [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 投票
1 回答
939 浏览

ruby-on-rails - Gem "audited-activerecord", "~> 4.0 给出了未定义的方法 `audits'

我正在使用:Rail 4.1.7 Ruby 2.1.4

我刚刚安装了Audited GEM

模型

当我运行时:

我收到此错误:

我正在使用 Ruby 2.1.4 并且有一个警告标志“已审核可能适用于上面未列出的 Ruby 版本(最新 2.1.2),但我们不能保证它会。如果您想维护未列出的 Ruby,请通过拉取请求告知我们。”

有谁之前经历过这个吗?

0 投票
2 回答
504 浏览

ruby-on-rails - 如何在 Rails 中为 Audited gem 添加打印方法?

Audited在我的 Rails 应用程序中使用 gem。我想创建一种打印审计记录的方法,以便我可以获取用户更改的内容或对象更改的内容。目前,我已经设置了一个print_audit对我使用的每个对象调用的方法Audited。但这似乎是非常错误的。我想覆盖to_s审计模型上的方法......但我不确定这样做的正确方法是什么......该方法是否不正确,如果不正确,我将如何去做?

0 投票
0 回答
56 浏览

ruby-on-rails - 在 rails4 应用程序中使用 auditied

我正在开发一个 rails4 应用程序并尝试使用经过审核的 gem 来保存日志。我已按照 github 页面上的说明进行操作,并创建了审核表。但是我将“已审核:allow_mass_assignment => true”放在我的一个模型中并重新启动了服务器。但是在成功更新该模型的记录后,审计表仍然是空的。

0 投票
1 回答
134 浏览

rspec - SystemStackError - 堆栈级别太深;在 Rspec 测试中,使用acts_as_audited、Rspec、数据库清理器

我遇到了一个奇怪的无限递归,它只出现在 Rspec 测试中。奇怪的是,这是由于向我的用户对象添加了审核,即使它失败的规范实际上与我的用户对象无关

这是它失败的测试。像所有无限递归一样,我没有得到实际的 stracktrace,只有堆栈级别太深失败:

0 投票
1 回答
549 浏览

ruby-on-rails - 如何使普通的 ruby​​ 对象可分配为活动记录关联

我有一个Audit由 ActiveRecord 支持的课程。

我有一个User类,它是一个普通的 ruby​​ 对象,包含一些 ActiveModel 功能。它不是数据库模型,因为我的用户实际上存储在不同的数据库中并通过 API 提供服务。

我正在尝试将用户分配给这样的审核:

从数据的角度来看,这应该可以。要定义多态关联,我们需要将值放入审计表的两列中。我们可以设置audits.user_id为值42audits.user_type字符串“用户”。

但是,我遇到了一个例外:

我追溯到ActiveRecord源头,它似乎是在这里定义的。不幸的是,它ActiveRecord不是而不是ActiveModel意味着我不能将那个 mixin 包含在我的课程中。

我尝试定义自己的_read_attribute方法,但我不得不重新定义越来越多的 ActiveRecord 功能,如AttributeSet等。

我也意识到我可以通过分配Audit#user_type和来解决这个问题Audit#user_id。然而,这并不令人满意,因为实际上,我必须分叉一个 gem 并对其进行编辑才能做到这一点。

如何修改我的用户类,以便我可以干净地将其分配给审计。

PS这是一个示例应用程序,因此您可以自己尝试。

0 投票
1 回答
1039 浏览

ruby-on-rails - 已审核的 gem 未审核删除关系

我正在对与 Collective Idea 的已审核gem的关系使用Associated Audits 。我看到正在添加的模型的审核,但在删除该关系时我看不到任何审核。has_many throughcreatethrough

这是我的3个模型。APost可以是多个Categories.

应用程序/模型/post.rb

应用程序/模型/category.rb

应用程序/模型/分类.rb

我的Post表单有一堆用于分类的复选框:

  • 当我编辑现有的Post选中a 的框时Category,我确实看到了一个新的审计条目,该条目create在审计的操作字段中具有一个值。
  • 当我编辑现有的Post取消选中a 的框时Category,我不到新的审核条目。
  • 当我删除 a 时,我确实看到destroy了对 thePost和auditable_type 字段的审核,因此该方面工作得很好。CategorizationPost

    1. 审计可以跟踪这些取消选择吗?如果是这样,怎么做?
    2. 我在上述模型中的审核设置有什么明显的坏/错误吗?没有has_many through可遵循的文档,所以我猜了一下。
0 投票
2 回答
1018 浏览

ruby-on-rails - 与 Rails 的多个关联已审核

我正在为 Rails 使用 Audited gem,并且正在使用相关的审计,如下所示:

问题是,我需要这个特定模型的审计与多个模型相关联。我希望这样的事情会起作用:

但事实并非如此。它提供了一个明确的错误说明:

我能找到的唯一相关页面声称这根本不可能,但它已经很老了,我希望有一些解决方法。

一如既往地感谢任何帮助。

0 投票
1 回答
378 浏览

ruby-on-rails - 使用 secondbase 和审核的 gem 将日志存储在单独的数据库中

我有一个带有数据库 PostgreSQL 的 Rails 4 应用程序。我想将主题模型的所有日志更改存储在不同的数据库中。是否可以同时使用 secondbase 和经过审核的 gem。最好的方法是什么?我已经在 secondbase 上尝试了一周,并通过修改 gem 进行了审核。在经过审计的 gem 内部,我添加了 secondbase 并从 SecondBase::Base 继承了审计模块,而不是 ActiveRecord::Base

0 投票
1 回答
1003 浏览

ruby-on-rails - 如何在 Rails 中调试 gem?

我正在尝试启动我的 Rails 服务器,但我得到了下面的错误跟踪。

我已经注释掉了这里提到的那一行:

,我可以让它运行,但我不确定为什么会破坏它。所以我在想也许可以byebug用来追踪问题,但似乎无法弄清楚我将如何解决这个问题。还是有其他方法可以解决此问题?谢谢!

错误

用户.rb

更新

原来这是一个 DNS 问题,所以即使我的 database.yml 没有更改 - 服务器名称也不再工作。刚刚添加了更新,以防有人遇到类似问题,可能值得一试。

0 投票
2 回答
1110 浏览

ruby - 如何向 Rails 4 中的所有 ActiveRecord 模型添加 `audited` 方法调用?

我将 Audited-ActiveRecord gem 添加到我的 Rails 4 应用程序中。为了实现 gem,我需要audited为每个模型添加一个方法调用。

是否可以将此方法包含在单个位置,而不必将其添加到我的每个 ActiveRecord 模型中?

https://rubygems.org/gems/audited-activerecord

经过审核的 gem 允许我粘贴audited到每个模型中,但是因为我正在尝试添加审核,而不必粘贴audited到 50 多个现有模型以及未来模型中。

例如: