2013-02-19 86 views
0

當使用{%渲染「捆綁:控制器:動作」%},它返回一個:404錯誤

throw $this->createNotFoundException('Error - 404'); 

它成功地使頁面的開發模式錯誤,但在生產模式頁面呈現除{%render%}部分之外的部分,現在它只是空白。

我想讓整個頁面顯示一個404頁面,就像在父操作中拋出異常一樣。

有沒有人有任何建議?

感謝

回答

0

若要恢復錯誤而不是隻是靜默失敗,只需在with對象後面添加ignore_errors選項即可。

例如

{% render 'Bundle:Controller:Action' with { }, { 'ignore_errors' : false } %} 
1

它成功地使頁面的開發模式錯誤,但 生產模式頁面呈現除了{%渲染%}部分 現在在哪裏,這只是空白。

這似乎是合法的。您使用

{% render "Bundle:Controller:Action" %} 

只呈現網頁的一部分,例如一份菜單。如果特定的渲染動作拋出一個404,它只會影響網站的這一部分,但不會影響整個頁面。


此外,爲什麼整個頁面,顯然呈現良好,將被404錯誤頁面阻止,只會影響頁面的一部分?這不是很好的做法。如果錯誤非常重要,那麼應該在控制器級別的更高實例上觸發它。

+0

我希望它爲整個頁面扔404。 – 2013-02-19 17:21:54

+1

404錯誤不應引發視圖圖層。他們只應該被拋出Controller層。你應該重新考慮你的設計,做你想達到的。 – Benny 2013-02-19 17:24:40

+0

@你是對的 – 2013-02-19 17:29:13