【发布时间】:2014-12-07 07:26:27
【问题描述】:
我有一个 Rails 3.2.14 应用程序,它有一个 Call 模型和许多不同的关联。我希望能够跟踪Call 模型的更改并以某种方式显示Call 显示视图中的更改列表。
我一直在阅读有关 audited gem 的信息,它看起来可能会奏效。但在我深入研究之前,我想知道以下几点。
如何从显示视图中调用审核?我假设我可以做一些事情,比如传递一个块:
<% @call.audits.each do |a| %>
<%= a.action %> <%= a.audited_changes %>
<% end %>
当我需要查看对特定调用所做的更改时,这样的内容是否可以在显示视图中使用?
audited gem 如何处理关联,尤其是has_many_through?
我希望尽快实现此功能,但不想在我的应用中引入任何问题。我认为在开发环境中安装可能是最好的途径?
如果有人有使用此 gem 的经验或可以帮助提供答案,我将不胜感激。
更新
所以我尝试安装审核的 gem,我能够显示审核操作和 audited_changes。但是audited_changes的格式是一个序列化的hash。我怎样才能反序列化它并使字段友好?此外,在使用 has_many_through 关系/连接表时,gem 似乎不会记录更改。所以我现在拥有的是一个半工作的审计 gem,其中的数据对用户不友好。有什么方法可以美化它并使其对用户有意义?
call.rb 摘录
has_many :call_units
has_many :units, through: :call_units
belongs_to :nature
belongs_to :service_level
belongs_to :patient_sex
belongs_to :insurance
belongs_to :region
has_many :call_special_equipments
has_many :special_equipments, :through => :call_special_equipments
belongs_to :transferred_from, :foreign_key => :transfer_from_id, :class_name => 'Facility'
belongs_to :transferred_to, :foreign_key => :transfer_to_id, :class_name => 'Facility'
belongs_to :parent_call, class_name: "Call"
has_many :notes
belongs_to :cancel_reason
【问题讨论】:
-
我看到您最近的编辑是一年前,但必须问:您是否设法以可读的方式显示您的审核?如果没有,我可以提供帮助。
-
我知道现在已经很久了,但我似乎无法弄清楚如何在索引页面中显示更改,我已将
audited添加到用户模型中。
标签: ruby-on-rails ruby ruby-on-rails-3 acts-as-audited