我最近把我的Ruby升级到了3。1.2和Rails到7。0.3.1.在更改的某个地方,我注意到的一个问题是,我的Paper Trails(paper_trails gem)信息现在不起作用了,至少在细节方面是这样。没有任何“变更集”数据可用,因此我的测试失败了。
nmpmafwu1#
我在使用数据的视图中放置了一个“byebug”,并查找缺少的内容。显然我的“变更集”数据全部丢失了。使用此链接:Upgrading to Rails 6.1.6.1 causes Psych::DisallowedClass: Tried to load unspecified class: Symbol还有这些:https://github.com/paper-trail-gem/paper_trail/issues/446https://github.com/ruby/psych/issues/490我猜这是一个不允许的类问题,我最终坐在该视图断点运行PaperTrail.serializer.load(change_history_by_month.object_changes)(当然您的参数会有所不同)直到它输出正确的数据。基本的问题显然是Pysch和几个不允许的类(例如,“Psych::DisallowedClass Exception:尝试加载未指定的类:BigDecimal”),但幸运的是上面会告诉你这些类,你可以把它们添加到config/application中。RB非常令人沮丧,因为它是所有安静,没有警告或错误。当然,这些课程也不是无缘无故就被禁止的。允许这些类可能存在安全问题。
PaperTrail.serializer.load(change_history_by_month.object_changes)
zaq34kh62#
将此添加到应用程序中。rb:
config.active_record.yaml_column_permitted_classes = [Symbol, Date, Time, ActiveSupport::TimeWithZone, ActiveSupport::TimeZone]
确保重新启动服务器。
2条答案
按热度按时间nmpmafwu1#
我在使用数据的视图中放置了一个“byebug”,并查找缺少的内容。显然我的“变更集”数据全部丢失了。
使用此链接:
Upgrading to Rails 6.1.6.1 causes Psych::DisallowedClass: Tried to load unspecified class: Symbol
还有这些:
https://github.com/paper-trail-gem/paper_trail/issues/446
https://github.com/ruby/psych/issues/490
我猜这是一个不允许的类问题,我最终坐在该视图断点运行
PaperTrail.serializer.load(change_history_by_month.object_changes)
(当然您的参数会有所不同)直到它输出正确的数据。基本的问题显然是Pysch和几个不允许的类(例如,“Psych::DisallowedClass Exception:尝试加载未指定的类:BigDecimal”),但幸运的是上面会告诉你这些类,你可以把它们添加到config/application中。RB
非常令人沮丧,因为它是所有安静,没有警告或错误。
当然,这些课程也不是无缘无故就被禁止的。允许这些类可能存在安全问题。
zaq34kh62#
将此添加到应用程序中。rb:
确保重新启动服务器。