2013-06-16 4 views
0

я получаю следующее сообщение об ошибке, когда я пытаюсь и посетить мой app_dev.php страницы:Нет маршрута не найдено /, даже если маршрут определяется

No route found for "GET /" 

Дело в том, что я определил этот маршрут мой routing.yml файл выглядит следующим образом:

0 v42homepage: 
1  pattern:/
2  defaults: { _controller: v42Bundle:Default:index } 
3 
4 v42meetTheTeamPage: 
5  pattern: /meetTheTeam 
6  defaults: { _controller: v42Bundle:Default:meetTheTeam } 
7 
8 v42whatWeDoPage: 
9  pattern: /whatWeDo 
10  defaults: { _controller: v42Bundle:Default:whatWeDo } 
11 
12 v42contactUsPage: 
13  pattern: /contactUs 
14  defaults: { _controller: v42Bundle:Default:contactUs } 
15 
16 v42homepage: 
17  pattern: /login 
18  defaults: { _controller: v42Bundle:Default:login } 

А вот мой контроллер:

<?php 
47 
46 namespace v42\WebsiteBundle\Controller; 
45 
44 use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
43 
42 class DefaultController extends Controller 
41 { 
40  public function indexAction() 
39  { 
38   $templating = $this->container->get('templating'); 
37 
36   $response = $templating->renderResponse('v42Bundle:Default:index.html.twig'); 
35 
34   return $response; 
33  } 
32 
31  public function meetTheTeamAction() 
30  { 
29   $templating = $this->container->get('templating'); 
28 
27   $response = $templating->renderResponse('v42Bundle:Default:meetTheTeam.html.twig'); 
26 
25   return $response; 
24  } 
23 
22  public function whatWeDoAction() 
21  { 
20   $templating = $this->container->get('templating'); 
19 
18   $response = $templating->renderResponse('v42Bundle:Default:whatWeDo.html.twig'); 
17 
16   return $response; 
15  } 
14 
13  public function contactUsAction() 
12  { 
11   $templating = $this->container->get('templating'); 
10 
    9   $response = $templating->renderResponse('v42Bundle:Default:contactUs.html.twig'); 
    8 
    7   return $response; 
    6  } 
    5 
    4  public function loginAction() 
    3  { 
    2   $templating = $this->container->get('templating'); 
    1 
    0   $response = $templating->renderResponse('v42Bundle:Default:login.html.twig'); 
    1 
    2   return $response; 
    3  } 
    4 
    5 } 

Все мои другие пути работают, но посещение app_dev.php без предоставления пути не выполняется, хотя это должно быть разрешено для моего/пути по умолчанию. Что может быть причиной этого?

Я попытался очистить свой кеш с помощью консольной программы Symfony, как описано here.

Благодаря

+0

быстрый совет .. использование @Template, чтобы уменьшить ваш контроллер -> http: // symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/view.html – nifr

+0

@nifr Спасибо, я проверю это, я очень новичок в этом, это мой первый выход в Symfony2 haha! – JMK

+0

просто используйте '$ this-> render()' (или аннотацию, как предложено @nifr) –

ответ

2

Что называется pattern теперь называется в конфигурации маршрутизации path. Старый ключ pattern устарел и будет удален в Symfony 3.0.

Ссылка here.

Если вы используете другой маршрут для Дев окружающей среды т.е. routing_dev.yml:

config_dev.yml

framework: 
    router: { resource: "%kernel.root_dir%/config/routing_dev.yml" } 

Вы должны импортировать производственные маршруты в routing_dev.yml

routing_dev.yml

# ... dev routes here ... i.e. _wdt, _profiler 

_main: 
    resource: routing.yml 

Кроме того, убедитесь, что вы не перезаписываете маршрут / в routing_dev.yml.

первый соответствующий маршрут-шаблон всегда выигрывает - маршруты до импорт routing.yml в routing_dev.yml будет перезаписан.

Но ... с использованием тех же имен маршрутов перезаписываются те, которые были объявлены ранее.

Вы можете проверить, какие маршруты существуют в вашем приложении с

app/console router:debug 

app/console router:debug --env=prod 

проблемы здесь: Продублируйте имена маршрутов

v42homepage: 
    pattern:/

v42homepage: 
    pattern: /login 

решение

Рена мне вторая v42homepage, то есть v42login, чтобы решить проблему.

+0

Интересно, вот как был установлен файл routing.yml по умолчанию в базовом комплекте, который я установил. И я попытался изменить шаблон на путь, и я все еще получаю ту же ошибку. – JMK

+0

добавлено больше информации :) – nifr

+0

Спасибо большое, оценили. – JMK

Смежные вопросы