удалить атрибуты, вложенные в массив объектов Ruby на рельсах - PullRequest
1 голос
/ 13 апреля 2020

Мне нужно массово удалить атрибут nested1, который находится внутри attr7_nested, мне не нужно сохранять эти данные в банке, просто сохраните их в переменной для отправки в файл журнала.

пример файла:

[{
  "attr1": 120,
  "attr2": 24,
  "attr3": 11400,
  "attr4": "Caixa",
  "attr5": 2000000,
  "attr6": 1744000,
  "attr7_nested": {
    "nested1": 1,
    "nested2": "Essential",
    "nested3": "med",
    "nested4": "Med"
  }
},
{
  "attr1": 120,
  "attr2": 24,
  "attr3": 11400,
  "attr4": "Caixa",
  "attr5": 2000000,
  "attr6": 1744000,
  "attr7_nested": {
    "nested1": 1,
    "nested2": "Ess",
    "nested3": "med",
    "nested4": "Med"
  }
}]

1 Ответ

1 голос
/ 13 апреля 2020

Если array является массивом, содержащим вложенные хэши из вашего вопроса, то следующее удалит ключи nested1 из всех вложенных attr7_nested хешей:

array.each { |hash| hash[:attr7_nested].delete(:nested1) }
...