针对FOSRestBundle、JMSSerializerBundle和模板的问题。
我试图替换一些通过twig输出json的现有代码,以使用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中的示例代码,除非我错了,这些示例和他们提供的是匹配的?你有任何想法我做错了什么吗?
$form
传递给视图处理程序之前,难道不需要调用$form->createView()
吗? - Vitalii Zurian{"children":{"_token":[],"myValue":[]}}
,但是即使使用了createView,我最终仍然只得到{"_token":[],"myValue":[]}
。 - MadManMonty