Я пытаюсь сделать вложенную (и, таким образом, отсортированный) массив хэшей, как так:Rails: сделать вложенную хэш-массив типа объектов
[{ stack: 'stack name', id: 1,
boxes: [{
box: 'whatever box',
id: 1,
vars: [{
var: 'some name',
id: 22,
},
{ var: 'another name',
id: 4
}]
}, {
box: 'another box',
id: 99,
vars: [{
var: 'another',
id: 999
}]
}
}]
}]
Метод, который я придумал до сих пор является это который не работает, но я полностью складываю о том, как гнезде эти объекты, чтобы сохранить их иерархию (а Stack
может иметь много Boxes
, Box
может иметь много TemplateVariables
.
master = []
@template.stacks.alphabetised.each_with_index do |stack, i|
master << { stack: stack.name, id: stack.id }
stack.boxes.indexed.each_with_index do |box, j|
master[i] = { box: box.name, id: box.id }
box.template_variables.indexed.each do |var|
master[i][j] = { var: var.name, id: var.id }
end
end
end
master
Это кажется не возвращать ничего, несмотря на то, что те объекты определенно находятся (и я знаю, что моя структура тоже выключена). Я делаю что-то неправильно?
Синтаксис не подходит для первого. –