2016-12-29 3 views
0

У меня возникли проблемы при создании Regex для соответствия URL слизней [аз] ("слова", разделенные одиночными штрихами), как это:Regex для слизняка в symfont маршрут

wordone-wordtwo-wordtree 

в пути:

csa_platform_category: 
    path:  /c/{slug} 
    defaults: { _controller: CSAPlatformBundle:Category:index } 
    requirements: 
     slug: "^[a-z]+(?:-[a-z]+)*$" 

в веточке:

<a href="{{ path('csa_platform_category', {'slug': cat.slug}) }}">{{ cat.name }}</a> 

Отображаемая ошибка:

Исключение было сделано во время рендеринга шаблона («Параметр« slug »для маршрута« csa_platform_category »должен соответствовать« [az] + (?: - [az] +) * "(" "given) для сгенерировать соответствующий URL-адрес. ").

Я довольно плох с регулярными выражениями, поэтому любая помощь будет оценена по достоинству.

+0

В PHP, вам нужно использовать регулярные выражения разделителей для определения регулярных выражений, попробуйте '" ~^[az] + (?: - [az] +) * $ ~ "' –

+0

, добавив разделители. Отображается ошибка автоответчика: для «GET/category/mutuelle-sante» не найден маршрут.
csa_platform_category: путь:/category/{ slug} defaults: {_controller: CSAPlatformBundle: Категория: index} : slug: "~^[a-z] + (?: - [a-z] +) * $ ~" – emwww

+0

Хорошо, тогда проблема просто не связана с регулярным выражением. –

ответ

1

Ошибка, которую вы имеете, говорит, что ваш cat.slug пуст.

("" дано)

Вы должны проверить данные в объекте кошки с помощью var_dump или dump

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