2014-01-05 3 views
1

Я маршрут определяется следующим образом:Отправить параметры маршрута в Symfony прут

reuzze_reuzze_categoryentitiespage: 
pattern: /category/entities/{category_id} 
defaults: { _controller: ReuzzeReuzzeBundle:Category:entities } 

У меня есть категории, на мой взгляд, что я хочу Переберите и создавать гиперссылки, как это:

{% for name, category in categories %} 
    <li>{{ name }}</li> 
    <ul> 
     {% for key, string in category %} 
      <li><a href="{{ path('reuzze_reuzze_categoryentitiespage', {'category_id': {{ key }} }) }}">{{ string }}</a></li> 
     {% endfor %} 
    </ul> 
{% endfor %} 

Но когда я это делаю, я всегда получаю эту ошибку:

A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "punctuation" of value "{" in ReuzzeReuzzeBundle:Search:entitiesfromsearch.html.twig at line 12 

Что я делаю неправильно?

ответ

4

Заменить

<li><a href="{{ path('reuzze_reuzze_categoryentitiespage', {'category_id': {{ key }} }) }}">{{ string }}</a></li> 

с,

<li><a href="{{ path('reuzze_reuzze_categoryentitiespage', {'category_id': key }) }}">{{ string }}</a></li> 

Другими словами, {{ ... }} прута разделители не могут быть вложенными. Все переменные, включенные в первые разделители, интерпретируются. Нет необходимости обертывать переменную key любыми другими вложенными разделителями.

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