在我構建的學習RoR的應用程序中,我想添加更改跟蹤並使用Audited gem。雖然很清楚如何將其添加到我的模型中,但我如何看到這些更改?Rails 5 - 使用Audited gem查看更改
我想爲不同的對象/類/模型在每個頁面上添加一個鏈接/按鈕,用審覈日誌打開一個視圖。即列出按改變日期/時間排序的所有改變(日期/時間,字段,舊值,新值,由用戶)。
找不到任何文檔。所有幫助開始感激。
在我構建的學習RoR的應用程序中,我想添加更改跟蹤並使用Audited gem。雖然很清楚如何將其添加到我的模型中,但我如何看到這些更改?Rails 5 - 使用Audited gem查看更改
我想爲不同的對象/類/模型在每個頁面上添加一個鏈接/按鈕,用審覈日誌打開一個視圖。即列出按改變日期/時間排序的所有改變(日期/時間,字段,舊值,新值,由用戶)。
找不到任何文檔。所有幫助開始感激。
幾個月前我和Papertrail Gem一起工作時,需要準確的功能。我修改了我的代碼,以便爲審計的創業板工作。我希望下面的haml代碼會給你一個很好的開始。
%table.table.table-hover
%thead
%tr
%th Type
%th When
%th Who
%th What Changed
- model.audits.order(:created_at).each do |audit|
%tr
%td= audit.action
%td= audit.created_at
%td= audit.user.name
%td
- audit.audited_changes.each do |k, v|
%b= k.titleize
from
%b= "'#{v[0]}'"
to
%b= "'#{v[1]}'"
%br
代碼是自我解釋,如果你按3210
解釋audited_changes: 對於我們有散像audit.audited_changes # => {"name"=>["Steve", "Ryan"]}
audited_changes。這意味着你將字符串散列爲一個鍵值和具有兩個值的數組。第一個值在更新之前,第二個在更新之後。
感謝@dnsh,我改變了自己的代碼,增加了其他:
%table.table.table-hover
%thead
%tr
%th Type
%th When
%th Who
%th What Changed
- model.audits.order(:created_at).each do |audit|
%tr
%td= audit.action
%td= audit.created_at
%td= audit.user.name
%td
- audit.audited_changes.each do |k, v|
%b= k.titleize
- if v.class == Array # if updated
from
%b= "'#{v[0]}'"
to
%b= "'#{v[1]}'"
%br
- else # if created
= v
的Tx迪內希 - 本週初將看看它。然後讓你知道。 –
注意:audited_changes的值可能是數組或字符串! - audit.audited_changes.each do | k,v | %B = k.titlesize - 如果v.class ==陣列 從 = 「 '#{V [0]}'」 到 =# 「 '#{V [1]}'」 - 否則 =「'#{v}'」「 %br – dumP