Использование FOSRestBundle с формами
Нуб, вопрос, касающийся FOSRestBundle, JMSSerializerBundle и шаблонов.
Я пытаюсь заменить некоторый существующий код, который в настоящее время выводит json через twig, чтобы использовать FOSRestBundle. Это было успешно, когда содержимое, передаваемое с контроллера, изначально было в массивах, но теперь я пытаюсь передать форму в FOSRestBundle, в результате мои значения никогда не возвращаются.
Приведенный ниже код воспроизводит сценарий
/**
* my sample get action
* @View(templateVar="form")
*/
public function getAction($id)
{
...
$form = $this->createFormBuilder(array('myValue' => 'SOMEVALUE'))
->add('myValue', 'hidden')
->getForm();
$view = FOSView::create($form);
$view->setFormat('json');
return $this->get('fos_rest.view_handler')->handle($view);
}
Возвращает
{"children":{"_token":[],"myValue":[]}}
То, что я ожидал увидеть здесь, было что-то вроде:
{"children":{"_token": "mylongtoken","myValue": "SOMEVALUE"}}
Я основывал свой код на примерах в LiipHelloBundle, если я не ошибаюсь, это соответствует примерам, которые они предоставляют? Есть идеи, где я ошибаюсь?
1 answers
Хорошо, не совсем самое чистое решение, которое я ожидал бы в Symfony, но, похоже, оно работает так:
$form->createView()->get('form')->get('form')->getChild('myValue')->get('choices')
Возвращает мне сущности myValue:
{"28":" По умолчанию 1", "103": "тест"}