在页面内渲染控制器

时间:2016-12-29 22:59:40

标签: symfony twig render

我正在尝试在我的模板中渲染一个控制器,让控制器渲染我:

public function createAction(Request $request)
{
    $review = new Review();

    $form = $this->createForm(ReviewType::class, $review,[
        'action' => $request->getUri()
    ]);

    $form->handleRequest($request);

    if($form->isValid()) {

        $manager = $this->getDoctrine()->getManager();
        $manager->persist($review);
        $manager->flush();

    }

    return $this->render('BookReviewsBundle:Review:index.html.twig',
        ['form' => $form->createView()]);
}

在index.html.twig模板中,控制器返回我:

{% block body %}
  {{ form_start(form) }}
  {{ form_end(form) }}
{% endblock %}

然后我想要渲染控制器的页面:

{{ render(controller("BookReviewsBundle:Review:create")) }}

然而,我收到此错误:

在渲染模板期间抛出了异常(“可捕获的致命错误:类Proxies__CG __ \ Book \ BookBundle \ Entity \ Book的对象无法转换为字符串”)

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

更改您的代码:

{{1}}

我认为你不能传递第3个参数。请你试试这个 - 不知道它是否会起作用。