我正在使用FOSRestBundle,
对于newRessourceAction
,我想生成一个json版本的表单,我可以使用它有一个模板,以便发布一个新的。
为此目的,我一直在测试几种返回json响应的方法,但在每种情况下,我的json字符串都以FOSRestBundle的jsonencoded结束。这是一个例子:
#in the controller
/**
* @View()
*/
public function newFooAction(Request $request) {
$_format = $request->attributes->get('_format');
$foo = new Foo();
$form = $this->createForm(FooType::class, $foo, ['action' => $this->generateUrl('post_foo', ['_format' => $_format]),'method' => 'POST',]);
return ['form' => $form];
}
#in the foo.json.twig
{{ form | serialize('json') }}
输出趋于那样(注意"
):
{"foo":"bar"}
答案 0 :(得分:0)
我在Twig的文档中看不到serialize
的任何引用。这是你做的自定义功能吗?
你能试试看看会发生什么:
{{ form|json_encode() }}
以下是它的文档:http://twig.sensiolabs.org/doc/filters/json_encode.html
试试,告诉我们结果。我还没有对此进行验证,所以我不确定它是否适合您。