2016-12-29 56 views
1

我想我的模板內呈現一個控制器,讓控制器使我有:在頁面中繪製控制

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的對象__ \書\ BookBundle \實體\書不能被轉換成字符串」)

有誰知道我做錯了什麼?

+0

是否有潛在的拼寫錯誤somehwere?我在錯誤信息中看到:'\ Reviewr \ BookBundle \ Entity \ Book'注意'Reviewr'的拼寫。 –

+0

@AlvinBunk對不起,我更新了問題 – KTOV

+0

你的意思是你有:'{{render(controller(「BookReviewsBundle:Review:create」))}}'在你的Twig文件中?這看起來不正確。你的'createAction'是否有路線?使用命令行'php bin/console debug:router'來顯示你的路由。 –

回答

0

更改您這樣的代碼:

$form = $this->createForm(ReviewType::class, $review); 

我不認爲你可以傳遞第三個參數。你可以試試這個 - 不知道它是否會工作。

+0

不起作用,你可以通過第三個參數 – KTOV

+0

你也清除了緩存:'php bin/console cache:clear -e nv = prod' –

+0

仍然是一樣的錯誤 – KTOV