GregwarCaptcha バンドルをインストールし、コントローラーに次のコードを追加します
$form = $this->createFormBuilder()
->add('captcha', 'captcha', array(
'width' => 200,
'height' => 50,
'length' => 6,
));
return $this->render('MyIndexBundle:Default:contact.html.twig',array(
'form' => $form->createView()
));
テンプレートの次のコード
{% form_theme form 'MyIndexBundle:Default:captcha.html.twig' %}
<form action="" method="post">
........
{{ form_widget(form.captcha) }}
.......
</form>
そして captcha.html.twig は
{% block captcha_widget %}
{% spaceless %}
<img src="{{ captcha_code }}" alt="" title="captcha" width="{{ captcha_width }}" height="{{ captcha_height }}" />
...
{{ form_widget(form, {'attr': { 'autocapitalize': 'off','autocorrect': 'off' }}) }}
...
{% endspaceless %}
{% endblock %}
「オブジェクト "Symfony\Component\Form\FormView" のメソッド "captcha" が存在しません」というエラーが表示されます。... captcha.html.twig を使用すると、直接 captcah-code does not exist が表示されます...