问题标签 [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.
ruby-on-rails - 已审计的 audited_changes 混淆
我使用collectiveea 的审计解决方案在rails 中进行审计。所以,有一个列 (audited_changes) 是数据库中的 TEXT 定义。当我从数据库中检索审计时,我得到一个纯字符串,当我在视图中调用该属性时,它是非格式化字符串。在rdocs中,它说存在所有更改的序列化哈希。我怎样才能得到这个哈希?此外,在同一个文档中,它说可以访问 old_attributes 和 new_attributes,这是怎么回事?
在我看来:
或者有没有机会格式化这个?
ruby-on-rails - 显示最后修改的表/记录 Rails 3.2
我仍然无法弄清楚如何实现这一点,因为我是一个新手。有些人帮助我,说我必须使用已审核的,所以确实如此。这是我的控制器:
这是我的整个控制器的馅饼。http://pastie.org/4270702
但我不知道这是否正确或如何根据我的观点实施。
我希望有人真的可以提供帮助,因为我这周真的需要这个来工作。
谢谢。
我有一个 Rails 应用程序,我可以在其中将合同存储在数据库中,它还有数据库中的人员和工厂表。现在我想要一个最后修改的表。
我希望人们在数据库中更新/添加新记录时,它会在屏幕截图的右侧显示 div 中的修改。
感谢:D
ruby-on-rails - 已审核,查找属于用户的审核
我audited
用来跟踪一个名为Page
. 我希望能够找到与某个用户相关的所有审计(通过user_id
在审计表中)。
我怎样才能做到这一点?到目前为止,我发现访问Audit
模型的唯一方法是这样的:
这似乎不是做事的正确方法。
尝试@audits = Audit.all
给出Uninitialized constant
错误。
有没有更优雅的方式与 gems 提供的模型进行交互?
html - Rails 3.2 错误显示视图中的审核更改
我有一个奇怪的问题。当我在合同视图中有此代码时,我的审核 gem 在我的视图中不起作用:
它给出了以下错误:undefined method
nil:NilClass`的审计
当我的视图中只有这一行时: <p><%= @contracten.respond_to?(:audits) %></p>
它显示的是假而不是真,所以我认为我的控制器工作不正常。
我的控制器显示:
我的模型:
我在这里发布了一个类似的问题:Show Last modified tables/records Rails 3.2但这并不是关于审计的具体问题。我没有找到更简单的宝石,所以这可能有效。但我仍在为观点而苦苦挣扎
ruby-on-rails-3 - 在 Rails 3 中使用 Audit 时,我得到“未初始化的常量 User::Audit”
我在我的 Rails 2 应用程序中使用acts_as_audited 并且正在将其更新到 Rails 3。我已经更新了几个模型来调用audited
而不是acts_as_audited
并且这些模型似乎工作成功。但是,我现在正在更新我的应用程序的用户模型,当我尝试创建用户(从控制台或应用程序)时,我收到以下错误:
看起来相关的地方的追踪是:
在我的控制器中创建问题的行只是说明:
我查看了已审核的 github 帐户的支持列表,但找不到任何适合我的问题的内容。我想我会在这里问一下是否有人遇到过类似的问题。我也在这里和谷歌搜索过这个特定问题的答案,但找不到任何相关的东西。
有任何想法吗?
ruby-on-rails - 我可以在 rake 任务中使用acts_as_audited 吗?
虽然acts_as_audited
适用于我的模型,但我有一个 rake 任务,它将 XML 文件导入我的数据库。该任务执行的所有操作(主要是创建和更新)都不会被acts_as_audited 拾取。作为记录,我已添加Audit.as_user(User.current_user) do; ... ; end
到 rake 任务文件和执行实际任务的类中。
ruby-on-rails - 已审核:nil:NilClass 的未定义方法“关联”
所以我有一个Entry
模型,其中有一列名为created_by
,我想默认为第一个User
创建条目的人。我安装了审核,在我的Entry
模型中我有:
同样在我的User
模型中,我有以下陈述:
在我的条目表单中,我试图创建一个hidden_field
我试图设置created_by
为等于条目的第一次审核的关联用户的条目。但是,当我尝试加载表单视图时出现此错误:
这是视图中的代码:
这是entries_controller
我@entry
在视图中设置的代码:
我意识到,直觉上,在创建新审计时调用 @entry.audits 没有多大意义,因为它尚未保存。@entry.created_by
我应该在调用控制器@entry.save
的方法后设置值吗?create
不太确定在这里采取什么最实用的方法。
谢谢,
迈克尔。
ruby-on-rails - 检查谁更改模型 rails 3
我有一个带有大量模型的 Rails 3 应用程序。我还有很多 rake 任务等等。至少我有必要检查我的数据库中的所有更改。每次记录更改时,我都必须知道哪一行脚本进行了更改。
我曾经使用audited-gem,这很好,但没有回答关于更改的发起者,这让我很难过。我真的坚持这一点。
ruby-on-rails - 在 Rails 中审计记录
我有一个 Rails 3.2.14 应用程序,它有一个Call
具有许多不同关联的模型。我希望能够跟踪Call
模型的更改并以某种方式在Call
Show View 中显示更改列表。
我一直在阅读有关经过审核的gem,它看起来可能会奏效。但在我深入研究之前,我想知道以下内容。
如何从显示视图中调用审核?我假设我可以做一些事情,比如传递一个块:
<% @call.audits.each do |a| %>
<%= a.action %> <%= a.audited_changes %>
<% end %>
当我需要查看为特定呼叫所做的更改时,类似的东西会在显示视图中起作用吗?
宝石如何audited
处理关联,尤其是has_many_through
?
我希望尽快实现此功能,但不想在我的应用程序中引入任何问题。我认为在开发环境中安装可能是最好的途径?
如果有人对此宝石有经验或可以帮助提供答案,我将不胜感激。
更新
所以我尝试安装审核的 gem,我能够显示审核操作和 audited_changes。但是audited_changes的格式是一个序列化的hash。我怎样才能反序列化它并使字段友好?has_many_through
此外,在使用关系/连接表时,gem 似乎没有记录更改。所以我现在拥有的是一个半工作的审计 gem,其中的数据对用户不友好。有什么方法可以美化它并使其对用户有意义?
call.rb 摘录
ruby-on-rails - Rails - 在 Audited 中保存租户(以前为acts_as_audited)
我已经审核(以前为acts_as_audited)设置和工作。user_id 已成功保存在审计表中,但我无法找到保存tenant_id 的有效方法(我有带范围的多租户设置)。我曾尝试使用自述文件中描述的关联审计技术,但这对我不起作用。
我目前的解决方案是在每个模型中使用after_audit回调(可以用 Rails 关注点实现)来获取最后的审计并保存tenant_id:
虽然这可行,但必须再次查询审计然后更新它似乎效率低下。在保存之前将tenant_id添加到审计中对我来说更有意义,但我不知道如何做到这一点。是否可以在保存之前将tenant_id添加到审核中?如果是,那么如何?
编辑:
我也尝试在我的审计模型中包含我的默认租户范围,但它似乎没有被调用:
审计.rb
application_controller.rb
编辑:2/1/16
我仍然没有对此实施解决方案,但是我目前的想法是使用:
在这段代码中,我们得到了当前模型的最后一次审计。这样我们只处理当前模型,没有机会将审计添加到另一个业务(据我所知)。我会将此代码添加到关注点中以使其保持干燥。
我仍然无法让正常的 Rails 回调在 Audit 模型中工作。我目前看到的唯一另一种方法是分叉和修改 gem 源代码。