2013-03-22 38 views
1

當我將實體傳遞給樹枝文件時,我想將該實體傳遞迴控制器並在數據庫持久化之前重新渲染。實體最初是從控制器傳遞的變量。通過使用樹枝的symfony路由將實體傳遞給控制器​​

嫩枝:

<a href='{{ path('groupitem_new',{'entity' : entity}) }}'>Link Name</a> 

這是行不通的。該實體未通過。

如何通過symfony路由傳遞實體?

回答

5

你不能。

pathurl樹枝中的函數用於生成不調用控制器操作的URL。

則應該embedd a controller在樹枝{%渲染%}標籤是這樣的:

{# app/Resources/views/base.html.twig #} 
{% render url('some_route', { 'entity': entity }) %} 

注意url功能使標籤在某種程度上您用來生成一個URL url功能不同,這一次是用於調用控制器的操作,並從2.0.20/2.1.5版本的symfony中引入,以實現安全修復。舊的語法是這樣的:

{# app/Resources/views/base.html.twig #} 
{% render 'AcmeBlogBundle:Blog:show' with { 'entity': entity } %} 

其中 'AcmeBlogBu​​ndle:博客:秀' 被稱爲logical controller name

還記得,至少你應該在你的控制器的動作返回一個空的響應:

// src/Acme/BlogBundle/Controller/BlogController.php 
. 
public function showAction(){ 
    . 
    . 
    . 
    return new Response(); 
} 
. 

還添加use Symfony\Component\HttpFoundation\Response;到控制器文件的頂部。

+0

那麼回答這個問題。我如何處理這個新發現的力量完全是另一回事。 – Lighthart 2013-03-22 16:11:57

相關問題