【问题标题】:Why does Silex say my route can't be found?为什么 Silex 说找不到我的路线?
【发布时间】:2017-09-18 03:59:07
【问题描述】:

更新用户个人资料后,此行应将我重定向到页面以显示他的个人资料:

return $app->redirect($app['url_generator']->generate('user/' . $id));

但是,我收到以下错误:

UrlGenerator.php 第 130 行中的 RouteNotFoundException:无法 为命名路由“user/1”生成一个 URL,因为这样的路由不会 存在。

最后,这是我要重定向到的控制器:

$app->match('/user/{id}', function (Request $request, $id) use ($app) {
    $user = new User();
    $user->find($id);

    $team = new Team();
    $team->find($user->data()->username);

    if($team->exists()){
        return $app['twig']->render('user.twig', [
            'team_data' => $team->data(),
            'user_data' => $user->data()
        ]);
    }
    else{
        return $app['twig']->render('user.twig', [
            'user_data' => $user->data()
        ]);
    }

});

即使我已经定义了路线,谁能告诉我为什么会出现这个错误?

【问题讨论】:

  • 所以您在大约 6 天前得到了您的问题的答案 - 那么您发现了什么?答案有帮助吗?如果没有,您找到解决方案了吗?

标签: php redirect routes silex


【解决方案1】:

使用$app['url_generator']->generate('user', ['id' => $id])

Silex(或者更确切地说是 URL 生成器)为您处理参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    相关资源
    最近更新 更多