読者です 読者をやめる 読者になる 読者になる

Twigのタグやフィルターを使おうとしてハマった

Symfony

最新のSymfonySandboxアプリケーションを使っていてハマった話。

Twigテンプレートを使って、フォームをrenderしようとして、

{{ form|render }}

のようにrenderフィルターを使おうとしても、Unknown tag name "route"というエラーで動かない。手動でTwig Extensionを有効にしなくてはいけないのだろうか・・・などと数時間しらべたあげく、最新のSymfony2ではかなりTwigでの書き方が変わっているということに気づいた。

{% extends "HelloBundle::layout.twig" %}

{% block content %}
<form action="{{ path('hello', { 'name': 'spam' }) }}" method="post">
  {{ form_field(form) }}
  <input type="submit" value="Submit" />
</form>
{% endblock %}

教訓。