【发布时间】:2022-07-14 16:06:25
【问题描述】:
升级到 ruby 3.1 时,我在使用 YAML.load_file some_file_name 时看到以下排序错误消息
Psych::DisallowedClass:
Tried to load unspecified class: Matrix
其他加载语句会导致类似的错误,但引用了不同的未指定分类,例如开放结构。似乎最新版本的 YAML 仅从允许的白名单中加载类,因此需要使用 allowed_class 关键字来允许其他类。我试过了
hsh = YAML.load_file some_file_name, permitted_classes: [Matrix, OpenStruct]
但这给出了错误
Psych::DisallowedClass:
Tried to load unspecified class: Symbol
我该如何解决这个问题。
【问题讨论】: