Al actualizar a Ruby 3.1, veo el siguiente mensaje de error de clasificación cuando uso YAML.load_file some_file_name
Psych::DisallowedClass: Tried to load unspecified class: MatrixOtras declaraciones de carga causan errores similares pero citan diferentes clases no especificadas, por ejemplo, OpenStruct. Parece que la última versión de YAML solo carga clases de una lista blanca permitida, por lo que es necesario usar una palabra clave allow_class para permitir otras clases. Yo he tratado
hsh = YAML.load_file some_file_name, permitted_classes: [Matrix, OpenStruct]pero esto da el error
Psych::DisallowedClass: Tried to load unspecified class: SymbolCómo puedo solucionar esto.
Symbol tampoco está permitido por defecto. Por lo tanto, solo agregue Symbol a las permitted_classes también:
hash = YAML.load_file( some_file_name, permitted_classes: [Matrix, OpenStruct, Symbol] ) Consulte la lista de permitted_classes predeterminadas.