В контроллере у меня есть respond_with вроде этого:Customizing выход JSON
respond_with(@layer1 , @layer2)
Выход JSON мне нужно, как это:
{
"LayerOne": [
{
"name": "haha",
"number":"44"
}, // more ....
],
"LayerTwo": [
{
"name": "James Bond",
"score": 20
} // , ....
]
}
Таким образом, чтобы получить первую часть я пишу сериализатор как это:
class Layer1Serializer < ActiveModel::Serializer
attributes :number, :name
def name
object.person.name
end
end
И я изменить контроллер, чтобы быть, как это, так что я могу передать ROOT так он показывает в JSON а s «LayerOne»
respond_with(@Layer1, root: 'LayerOne')
, но помните, в самом начале у меня было две вещи, чтобы перейти к контроллеру, так что теперь я не могу понять наш, как сделать это для второй части JSON, который говорит «Layer2»
блестящий ..... еще не попробовал это, но просто чтение того, что у вас здесь, звучит как правильное решение ... plesse обновите его, если найдете новые подсказки или трюки об этом тоже. Благодарю. – Bohn