у меня есть фид JSON, что я экономлю в базу данных, а также в пределах массива данных, есть свойство, что это массив:Синтаксические и сохранение JSON вложенного массива в Rails
{
"reports": [
{
"name1":"val1",
"name2":"val2",
"sub": [
{"x":9,"y":-8,"z":134},
{"x":10,"y":-7,"z":136}
]
}
]
}
значения sub-array будут сохранены в свою собственную таблицу, поэтому мой вопрос: как я могу легко вставить родительские записи, получить личность вновь созданной записи, а затем сохранить записи подматрицы?
Это то, что у меня есть до сих пор, но, как вы могли догадаться, идентификатор значений sub-array равен nil.
rpts = metrics['reports']
saved_reports = Report.create rpts do |r|
if (r.sub != nil) then
SubReport.create r.sub do |a|
# How do I get the ID of the parent record?
a.report_id = r.id
end
end
end
Спасибо за помощь.
насчет просто сохранить отчет, а затем проверить на вспомогательном массиве в 'если saved_reports.save' блока и создать его там? –
Это будет работать, если родительский элемент был только одной записью, но родитель также является массивом, поэтому я вставляю несколько элементов. Как лучше всего решить родительский вопрос с помощью подмассивов? Повторю ли я снова цикл через save_reports? –