升級到 ruby?? 3.1 時,我在使用時看到以下排序錯誤訊息YAML.load_file some_file_name
Psych::DisallowedClass:
Tried to load unspecified class: Matrix
其他加載陳述句會導致類似的錯誤,但參考了不同的未指定類,例如 OpenStruct。似乎最新版本的 YAML 僅從允許的白名單中加載類,因此需要使用 allowed_class 關鍵字來允許其他類。我努力了
hsh = YAML.load_file some_file_name, permitted_classes: [Matrix, OpenStruct]
但這給出了錯誤
Psych::DisallowedClass:
Tried to load unspecified class: Symbol
我該如何解決。
uj5u.com熱心網友回復:
Symbol默認情況下也不允許。因此只添加Symbol到了permitted_classes:
hash = YAML.load_file(
some_file_name,
permitted_classes: [Matrix, OpenStruct, Symbol]
)
查看默認串列permitted_classes。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/436760.html
