Я не могу заставить мой класс редактирования работать. Моя проверка работает нормально, и когда я нажимаю отладку ($ this-> data) после нажатия кнопки редактирования, все отображаемые данные безупречны, но таблицы не обновляются.
Вот мой класс редактирования.
public function edit($id = null) {
if($this->request->is('get')) {
$this->request->data = $this->Bookmark->read(null, $id);
} else {
if($this->Bookmark->saveAll($this->request->data)) {
$this->Session->setFlash('The bookmark has been saved!');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('The bookmark could not be saved. Please, try again.');
}
}
}
Вот вид.
<?php
echo $this->Form->create('Bookmark', array(
'action' => 'edit',
'inputDefaults' => array(
'class' => 'input-text'
)
));
echo $this->Form->inputs(array(
'legend' => false,
'fieldset' => true,
'Bookmark.title',
'Url.url',
'Bookmark.id' => array('type' => 'hidden'),
'Url.id' => array('type' => 'hidden')
));
echo $this->Form->button('Edit');
echo $this->Form->end();
?>
Я обновил свой класс редактирования, но это все еще не исправило мою ошибку. То, что исправило это, было двумя скрытыми полями, которые я добавил к представлению.
'Bookmark.id' => array('type' => 'hidden'),
'Url.id' => array('type' => 'hidden')
Не совсем уверен, почему, но я просмотрел некоторые другие виды редактирования онлайн и попробовал это, и теперь оно работает.