Шаблон Chef отрисовывает вложенный объект
Я пытаюсь отобразить объект yaml в шаблоне chef, он работает нормально, но, как мы знаем, в пространствах yaml также имеет значение, поэтому он создает новые свойства.
collection: <%= @collection.to_hash.to_yaml %>
Где коллекция является объектом JSON
collection = { "name": "col1", "nested": { "nKey": 1 } }
Ожидаемый результат
collection:
name: col1
nested:
nKey: 1
Получение результата
collection: ---
name: col1
nested: !ruby/hash:Mash #nested is not part of collection.
nKey: 1
И второе, есть ли способ удалить типы (!ruby/hash:Mash
) а также ---
из функции to_yaml?
1 ответ
Вы обычно хотите использовать to_json
, поскольку весь JSON является действительным YAML. Это немного некрасиво, но обычно работает лучше:)