Как сделать дамп YAML без информации о классе? - PullRequest
0 голосов
/ 07 марта 2019

Я выгружаю массив объектов класса Test, и мой YAML показывает это:

---
- !ruby/object:Test
  id: rec1NIfdJz
- !ruby/object:Test
  id: rec1R9TtHF

Проблема возникает, когда я использую Middleman, а затем выдает ошибку при разборе YAML.

YAML Exception parsing ... undefined class/module Test

1 Ответ

1 голос
/ 07 марта 2019

Вам нужно уменьшить его до какой-то простой структуры Ruby, например, сначала Hash, например:

YAML.dump(object.to_h)

Если у вас есть или может быть реализован простой метод .to_h.

YAML, как и маршал, попытается сохранить класс Ruby, представленный этим объектом. Нейтральные формы, такие как JSON, не являются, так что это может быть альтернативой.

...