Я не указываю действие формы, но в некоторых случаях оно (автоматически) дает разные значения - PullRequest
0 голосов
/ 12 апреля 2011

Я создаю свою форму с помощью помощника по формам, поэтому действие формы указывается автоматически ....

эта форма используется для редактирования сообщения ..
так, URLимеет структуру: mywebsite.com/posts/edit/id, и действие формы должно автоматически генерироваться как posts/edit/id

, но проблема в том, что в некоторых случаях я открываю HTML-код и обнаруживаю, что действие формы только posts/edit без id, что приводит к сбою обновления ...

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

  • Я генерируюдинамически (с использованием javascript и ajax) полей в зависимости от категории сообщения ..
  • если значение одного из динамически сгенерированных полей недопустимо, сгенерированное действие становится posts/edit !!

Мне действительно нужна помощь, потому что я не знаю, почему это происходит !!!
и я не хочу тратить больше времени, копаясь в ядре cakephp ...
так что, если кто-то из cakephpУ экспертов есть представление об этом, плз, помогите мне!

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 13 апреля 2011

Похоже, что $id, вероятно, не устанавливается, потому что оно должно быть передано, если оно есть. Вы должны убедиться, что он настроен на редактирование рассматриваемой записи. Убедитесь, что ваш JavaScript включает скрытое поле с записью id в нем.

Обычно делается так, с помощью помощника по форме: echo $this->Form->input('id');

Кроме того, если одно из полей недопустимо, форма на самом деле не должна отправляться должным образом, если вы используете проверку торта, поэтому этого следует ожидать.

0 голосов
/ 12 апреля 2011

Используйте параметр url, который позволяет вам явно определить URL для формы:

echo $form->create('Post', array('url' => $html->url(array('action'=>'edit', $id))));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...