有人知道如何修复这个异常吗?不知道是否相关,但它落在discard
gem的#discard
方法调用上。
if object.discard
# Psych::DisallowedClass:
# Tried to load unspecified class: ActiveSupport::TimeWithZone
我已经尝试了以下添加到config/application.rb的配置设置,但问题仍然存在(没有Spring运行,没有预加载)
# config.active_record.yaml_column_permitted_classes = [Symbol, Hash, Array, ActiveSupport::HashWithIndifferentAccess, ActiveSupport::TimeWithZone, Time]
# config.active_record.use_yaml_unsafe_load
# config.active_support.use_yaml_unsafe_load
Ruby版本:3.1.2|导轨版本:6.1.7
相关问题:
Upgrading to Ruby 3.1 causes Psych::DisallowedClass exception when using YAML.load_file
作为一个临时的解决方法,我已经回滚到6.1.6
Rails版本,但我正在寻找一个合适的解决方案来解决这个问题。
1条答案
按热度按时间ndasle7k1#
在
config/application.rb
中添加:解决了这个问题。重新启动服务器和
reload!
rails控制台以确定。Credit @ziv-galili对解决方案的评论。