2017-11-26 6 views
0

私はSilex 1.2とTwig 1.0を使用しています。Twig生成URL /ルーティングエラー/機能未知

私はTwigでURLを生成しようとしています。

<a href="{{ path('signUp') }}">Sign Up</a>

私はこのエラーを取得するしかし:

Twig_Error_SyntaxUnknown "path" function.

ので、このポスト(Silex - Twig_Error_Syntax: The function "path" does not exist)上のように私は私のboostrap.phpでこれを追加しました。

$app->register(new UrlGeneratorServiceProvider()); 
$app['twig']->addFunction(new \Twig_SimpleFunction('path', function($url) use ($app) { 
    return $app['url_generator']->generate($url); 
})); 

しかし、私はこのエラーを取得する:

RouteNotFoundExceptionUnable to generate a URL for the named route "signUp" as such route does not exist.

ルーティングファイル

<?php 

$routes = $app['controllers_factory']; 

$routes->get('/', function() use ($app){ 
    return $app['twig']->render('home.html.twig'); 
}); 

$routes->get('/signUp', function() use ($app){ 
    return $app['twig']->render('signUp.html.twig'); 
}); 

$routes->get('/signIn', function() use ($app) { 
    return $app['twig']->render('signIn.html.twig'); 
}); 

return $routes; 

あなたは私を助けることができますか?

ありがとうございます!

+0

あなたは経路名を教えていません。 'bind()'メソッドについては、[examples](https://silex.symfony.com/doc/1.3/providers/url_generator.html)を参照してください。 – ccKep

+0

本当に、ありがとうございます! –

答えて

0

パス/signUpは、パスに指定したルート名と同じではありません。あなたはbindを次のように使ってnamed routeとしたいでしょう:

$routes->get('/signUp', function() use ($app){ 
    return $app['twig']->render('signUp.html.twig'); 
})->bind('signUp'); 
+0

はい、それは問題でした。ありがとう! –

関連する問題