Symfony 2控制器不可调用?

时间:2016-02-23 11:36:40

标签: symfony

Symfony在访问其关联的URI时抛出此异常:

  

控制器   “Backend \ ChatBundle \ Controller \ DefaultController :: generateAction”for   URI“/ chat / generate / 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)
{

我试图清除缓存目录并更改方法名称并路由无效。

1 个答案:

答案 0 :(得分: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 }