2009-07-02 76 views
6

是否有任何其他命令將控制器重定向到除重定向和呈現之外的特定視圖頁?在CakePHP中重定向和渲染有什麼區別?

我重定向爲

$this->redirect('/forms/homepage/'.$userId); 

但是,如果我給

$this->render('/forms/homepage/'.$userId); 

它不會重定向到該頁面。

有什麼問題嗎?

回答

12

重定向()的調用發出HTTP redirect。重定向後沒有任何反應,因爲CakePHP停止。您在重定向呼叫後放置的任何東西都不會被執行。相反,瀏覽器只需向您重定向的URL發出一個新的HTTP GET即可。

對render()的調用只是加載一個視圖。它需要一個視圖的路徑,而不是一個URL。它不重定向。假設你的情況下$ userID是'101'。渲染()的調用將嘗試加載以下文件:

應用程序/視圖/表格/主頁/ 101.ctp

由於該文件不存在,沒有任何反應。

相關問題