簡體   English   中英

paper_trail gem-無法跟蹤銷毀事件

[英]paper_trail gem - Can't track destroy event

我正在將paper_trail gem用於rails項目。 (紅寶石2.3,滑軌4.2.5)

paper_trail不在我的Rails應用程序中跟蹤:destroy事件。

經過調查,似乎沒有保存帶有destroy事件的版本模型,因為它與應該跟蹤的模型有關系,並且現在已經不存在(我們正在記錄一次destroy事件,因此該模型是有意的目前不存在)。

這是我試圖擺脫這種狀況的方法:

PaperTrail具有一個稱為Version的模型。 當我保存帶有destroy事件的Version實例的位置設置斷點時,我可以看到該模型未通過驗證。 當我嘗試保存版本模型時,會收到以下消息:

ActiveRecord::RecordInvalid: Validation failed: Item can't be blank

當我查看哪些驗證者屬於版本模型時,我可以看到:item是針對以下內容進行驗證的一個屬性:

[<ActiveRecord::Validations::PresenceValidator:0x007fe90cb3be40 @attributes=[:event], @options={}>,
 <ActiveRecord::Validations::PresenceValidator:0x007fe9044c82a0 @attributes=[:event], @options={}>,
 <ActiveRecord::Validations::PresenceValidator:0x007fe9044cbce8 @attributes=[:item_type], @options={}>,
 <ActiveRecord::Validations::PresenceValidator:0x007fe90e022f20 @attributes=[:item], @options={}>]

我在這里想念什么嗎? 我的activerecord模型非常簡單:

class ClientNote < ActiveRecord::Base
  has_paper_trail
end

對。 您必須了解,我仍然對Rails的魔力還很陌生。

顯然,有一個gem會根據模式自動將驗證器添加到rails模型。 這就是阻止paper_trail寶石為我工作的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM