symfony 1.4.8 を使用していますが、非表示の csrf フォーム フィールドをレンダリングしようとすると、レンダリングされたフィールドに値が追加されません。私はこれを以前に問題なく実行しました。コードとレンダリングされた出力を確認するには、以下の例を参照してください。
コード:
<?php echo $form['_csrf_token']->render(); ?>
生成:
<input type="hidden" name="contact[_csrf_token]" id="contact__csrf_token" />
コード:
<?php echo $form['_csrf_token']->renderRow(); ?>
生成:
<tr>
<th><label for="contact__csrf_token"> csrf token</label></th>
<td><input type="hidden" name="contact[_csrf_token]" value="3cf960d4553e2649f86d0ccd12a26efe" id="contact__csrf_token" /></td>
</tr>
ご覧のとおり、2 番目のメソッドは csrf_token の値を生成しますが、他のすべての行情報も生成します。このrender()
メソッドは、値を使用して「ウィジェット」(この場合は非表示の入力フィールド) を生成するだけであると想定されています。何らかの理由で値が追加されません。