2016-02-23 18 views
0

Symfony的引發此異常:Symfony 2控制器不可調用?訪問其相關聯的URI時

控制器 「後端\ ChatBundle \控制器\ DefaultController :: generateAction」 爲 URI 「/聊天/生成/ 2」 不調用。

這是相關的控制器代碼:

/** 
* Class DefaultController 
* @package Backend\ChatBundle\Controller 
* @Route("/chat") 
*/ 
class DefaultController extends BaseController 
{ 

/** 
* @Route("/generate/{id}", requirements={"id":"\d+"}, name="backend_chat_default_create") 
*/ 
public function generateAction(User $user) 
{ 

我試圖清除緩存目錄,改變的方法和途徑無果的名稱。

+0

您可以顯示路由文件? – KPK

+0

@kpk http://pastebin.com/jgcpK5V8 –

+0

難道你是在你的DefaultController(/ chat)和你的路由文件(/)中都定義了一個前綴嗎? – hasumedic

回答

0

http://pastebin.com/jgcpK5V8第4行和第12行有相同的prefix /。這是問題。您可以更改行號4 prefix : /chat。 您不能將相同的前綴/給予多個控制器。 編輯: 請注意路由名稱只是在路由文件中指定的「backend_chat」。

class DefaultController extends BaseController 
{ 
    /** 
    * @Route("/chat/generate/{id}", requirements={"id":"\d+"}, name="backend_chat") 
    */ 
    public function generateAction(User $user) 
    { 
     // some code here 
    } 

在你的路線文件中添加這樣

backend_chat: 
    path:  /chat 
    defaults: { _controller: DemoDemoBundle:Default:generate } 
+0

這裏'/'是根。 – KPK

+0

但是,如果我改變「/」 - 「/ chat」並刪除控制器中的@Route(「/ chat」),這不能解決我的問題,控制器不可調用。 如果我不刪除控制器SF中的註釋路由SF返回我404. –

+0

檢查編輯答案 – KPK

相關問題