Цель: рекурсивно сериализовать записи за пределы одного уровня вложенности вне контроллера Rails, где каждая вложенная запись использует свой собственный сериализатор.
Я могу успешно использовать ActiveModel :: Serializer рекурсивно изнутри контроллера:
render json: @record, include: ['**']
И я могу успешно использовать ActiveModel :: Serializer вне контроллера до первого уровня вложенности:
RecordSerializer.new(@record, include: ['**']).as_json
Однако второй фрагмент кода не возвращается за пределы первого уровня.
Например, предположим, что первый фрагмент кода возвращает следующее:
{
"name": "Parent",
"child": {
"name": "Child",
"grandchild": {
"name": "Grandchild"
}
}
}
Затем второй фрагмент кода возвращает следующее:
{
"name": "Parent",
"child": {
"name": "Child"
}
}