Я использую CakePHP 2.3.8, и я пытаюсь создать форму с динамически добавленными входами от this tutorial, но у меня возникают некоторые проблемы. Добавление и удаление входов работает очень хорошо, но когда я отправляю форму, я получаю сообщение об ошибке черной дыры. При проверке входов это не выглядит так, как если бы значение ключа было неправильно настроено и вызывало некоторые проблемы с идентификаторами входов.Входы динамической формы CakePHP
Например, с помощью этого кода в элементе
//Elements/users.ctp
$key = isset($key) ? $key : '<%= key %>';
<tr>
<td><?php echo $this->Form->input("Role.{$key}.user_id", array('options' => $users, 'label' => false)); ?></td>
<td class="actions">
<a href="#" class="remove">Remove User</a>
</td>
</tr>
это выбор, который генерируется
<select name="data[Role][0][user_id]" id="Role<%=Key%>UserId">
Редактировать
значение $ ключа создается правильно on /Elements/users.ctp. Я могу создать строку и повторить вывод ключа $, и число для строки будет отображаться правильно. Как вы можете видеть выше, имя элемента задано правильно, но идентификатор все еще задается странным образом.
Имя элемента выбора устанавливается правильно, но не идентификатор. Что вызывает идентификатор select Role<%=Key%>UserId
, а не Role0UserId
?
«Я пытаюсь создать форму с динамически добавленными входами ... но когда я отправлю форму, я получаю сообщение об ошибке черной дыры «Вообще-то, это не сработает. Вы не можете использовать компонент безопасности (без скрипта с конфигурацией) с динамическими полями формы. Не используйте хелпер формы для генерации входных данных, которые не соответствуют формату CakePHP (вы пытаетесь вставить переменную в id, а вспомогательный элемент формы не предназначен для этого). – AD7six