"Konnte nicht generiert eine URL für den Namen der route
Ich habe gerade angefangen zu spielen mit symfony2 und im arbeiten auf hinzufügen url usw.
Ich kann nicht scheinen, um meine twig-template zu Holen, meine Funktion übergeben wird seinen Namen mit einem @ - Route.
Irgendwelche Ideen, warum?
Controller:
/**
* @Route("/cube/{number}", name="get_cubed")
*/
public function indexAction($number)
{
$cube = $number * $number * $number;
return $this->render('NumberCubedBundle:Default:index.html.twig',
array('number' => $number, 'cube' => $cube)
);
}
Meine Twig Datei:
{% extends '::base.html.twig' %}
{% block title %}Cube Number Generator{% endblock %}
{% block body %}
{{ number }}^3 = {{ cube }}
<a href="{{ path('get_cubed', { 'number': 40 }) }}">Cube 40</a>
{% endblock %}
Den Fehler:
An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "get_cubed" as such route does not exist.") in NumberCubedBundle:Default:index.html.twig at line 5.
Jede Hilfe würde Massiv geschätzt.
Dank
- Sie haben
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
am start? - ich bin mit, dass am start und immer noch nicht aufnehmen, hinzufügen der route in der routing.yml-Datei wie bereits in der Antwort gearbeitet. Aber ich weiß nicht, warum die nicht arbeiten aus, die innerhalb der controller..
Du musst angemeldet sein, um einen Kommentar abzugeben.
EDIT: warum die Anmerkung hat nicht funktioniert
Wahrscheinlich nicht enthalten Sensio der Verkäufer bundle wie beschrieben in der annotation routing und sensio framwork EXTRA bundle.
Den Standard-routing-Mechanismus, verwendet der routing-Datei (routing.yml) nicht die extra bundle.
Routing durch Anmerkungen, auf der anderen Seite, die als ein zusätzliches feature, das ist nicht immer gewünscht und so wurde extrahiert, um eine separate und optionale bundle.
Müssen Sie konfigurieren, wird die route in der routing-Datei:
Definieren Sie die route
get_cubed
mit der standard Symfony-2-routing-syntax.Ähnlich wie diese:
Nun sollten Sie in der Lage sein, um die Seite mit der route:
@Route
annotation gibt es keine Notwendigkeit zu verwendenrouting.yml
zu. symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/.... Er wahrscheinlich nur nicht dieses bundle installiert.use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
im controller? Siehe auch symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/...Die Lösung für Muster-Anmerkung:
auf der app/config/routing.yml hinzufügen :
und o URL: