[英]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.