簡體   English   中英

為什么 Paper Trail 的變更集為空?

[英]Why is changeset for Paper Trail empty?

我最近將 Ruby 升級到 3.1.2,Rails 升級到 7.0.3.1。

在更改的某個地方,我注意到的一個問題是我的 Paper Trails (paper_trails gem) 信息現在無法正常工作,至少在細節方面是這樣。

沒有可用的“變更集”數據,因此我的測試失敗了。

我在使用數據的視圖中放置了一個“byebug”並查找丟失的內容。 顯然我的“變更集”數據都丟失了。

使用此鏈接:

升級到 Rails 6.1.6.1 導致 Psych::DisallowedClass: 試圖加載未指定的 class: 符號

還有這些:

https://github.com/paper-trail-gem/paper_trail/issues/446

https://github.com/ruby/psych/issues/490

我猜這是一個不允許的 class 問題,我最終坐在那個視圖斷點上運行

PaperTrail.serializer.load(change_history_by_month.object_changes) (您的參數當然會有所不同)

直到它 output 正確的數據。 基本問題顯然是 Pysch 和幾個不允許的類(例如,“Psych::DisallowedClass Exception: Tried to load unspecified class: BigDecimal”),但幸運的是上面會告訴你這些類,你可以將它們添加到配置/應用程序.rb

非常令人沮喪,因為一切都很安靜,沒有警告或錯誤。

當然,這些課程並不是無緣無故被禁止的。 允許這些類可能存在安全問題。

暫無
暫無

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

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